又是在
www.asp.net上找到的.因为其很简单并且作者也是直接了当把代码拿上来了,所以就不翻译了
代码如下
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Text.RegularExpressions;
namespaceCoreWebLibrary.Text.RegularExpressions
{
/**////<summary>
///AutilityclasscontainingfrequentlyusedRegularExpressionPatterns
///andtwoutilitymethodstoseeifapassedstringconformstothedesignated
///pattern.
///</summary>
publicclassPatterns
{
publicconststringEMAIL=@"^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$";
publicconststringUS_ZIPCODE=@"^\d{5}$";
publicconststringUS_ZIPCODE_PLUS_FOUR=@"^\d{5}((-|\s)?\d{4})$";
publicconststringUS_ZIPCODE_PLUS_FOUR_OPTIONAL=@"^\d{5}((-|\s)?\d{4})?$";
/**////<summary>
///PermissiveUSTelephoneRegex.Doesnotallowextensions.
///</summary>
///<example>
///Allows:324-234-3433,3242343434,(234)234-234,(234)234-2343
///</example>
publicconststringUS_TELEPHONE=@"^([\(]{1}[0-9]{3}[\)]{1}[\.||\-]{0,1}|^[0-9]{3}[\.|\-|]?)?[0-9]{3}(\.|\-|)?[0-9]{4}$";
/**////<summary>
///Thismatchesaurlinthegenericformat
///scheme://authority/path?query#fragment
///</summary>
///<example>
///Allows:http://www.yahoo.com,https://www.yahoo.com,ftp://www.yahoo.com
///</example>
publicconststringURL=@"^(?<Protocol>\w+):\/\/(?<Domain>[\w.]+\/?)\S*$";
/**////<summary>
///Thismatchesanipaddressintheformatxxx-xxx-xxx-xxx
///eachgroupofxxxmustbelessthanorequalto255
///</summary>
///<example>
///Allows:123.123.123.123,192.168.1.1
///</example>
publicconststringIP_ADDRESS=@"^(?<First>2[0-4]\d|25[0-5]|[01]?\d\d?)\.(?<Second>2[0-4]\d|25[0-5]|[01]?\d\d?)\.(?<Third>2[0-4]\d|25[0-5]|[01]?\d\d?)\.(?<Fourth>2[0-4]\d|25[0-5]|[01]?\d\d?)$";
/**////<summary>
///Thismatchesadateintheformatmm/dd/yy
///</summary>
///<example>
///Allows:01/05/05,12/30/99,04/11/05
///Doesnotallow:01/05/2000,2/2/02
///</example>
publicconststringDATE_MM_DD_YY=@"^(1[0-2]|0[1-9])/(([1-2][0-9]|3[0-1]|0[1-9])/\d\d)$";
/**////<summary>
///Thismatchesadateintheformatmm/yy
///</summary>
///<example>
///Allows:01/05,11/05,04/99
///Doesnotallow:1/05,13/05,00/05
///</example>
publicconststringDATE_MM_YY=@"^((0[1-9])|(1[0-2]))\/(\d{2})$";
/**////<summary>
///Thismatchesonlynumbers(nodecimals)
///</summary>
///<example>
///Allows:0,1,123,4232323,1212322
///</example>
publicconststringIS_NUMBER_ONLY=@"^([1-9]\d*)$|^0$";
/**////<summary>
///Thismatchesanystringwithonlyalphacharactersupperorlowercase(A-Z)
///</summary>
///<example>
///Allows:abc,ABC,abCd,AbCd
///Doesnotallow:AC,abc!,(a,b)
///</example>
publicconststringIS_ALPHA_ONLY=@"^[a-zA-Z]+$";
/**////<summary>
///Thismatchesanystringwithonlyuppercasealphacharacter(A-Z)
///</summary>
publicconststringIS_UPPER_CASE=@"^[A-Z]+$";
/**////<summary>
///Thismatchesanystringwithonlylowercasealphacharacter(A-Z)
///</summary>
publicconststringIS_LOWER_CASE=@"^[a-z]+$";
/**////<summary>
///Ensuresthestringonlycontainsalpha-numericcharacters,and
///notpunctuation,spaces,linebreaks,etc.
///</summary>
///<example>
///Allows:ab2c,112ABC,ab23Cd
///Doesnotallow:AC,abc!,a.a
///</example>
publicconststringIS_ALPHA_NUMBER_ONLY=@"^[a-zA-Z0-9]+$";
/**////<summary>
///ValidatesUSCurrency.Requires$sign
///Allowsforoptionalcommasanddecimal.
///Noleadingzeros.
///</summary>
///<example>Allows:$100,000or$10000.00or$10.00or$.10or$0or$0.00
///Doesnotallow:$0.10or10.00or10,000</example>
publicconststringIS_US_CURRENCY=@"^\$(([1-9]\d*|([1-9]\d{0,2}(\,\d{3})*))(\.\d{1,2})?|(\.\d{1,2}))$|^\$[0](.00)?$";
/**////<summary>
///Matchesmajorcreditcardsincluding:Visa(length16,prefix4);
///Mastercard(length16,prefix51-55);
///DinersClub/CarteBlanche(length14,prefix36,38,or300-305);
///Discover(length16,prefix6011);
///AmericanExpress(length15,prefix34or37).
///Savesthecardtypeasanamedgrouptofacilitatefurthervalidation
///againsta"cardtype"checkboxinaprogram.
///All16digitformatsaregrouped4-4-4-4withanoptionalhyphenorspace
///betweeneachgroupof4digits.
///TheAmericanExpressformatisgrouped4-6-5withanoptionalhyphenorspace
///betweeneachgroupofdigits.
///Formattingcharactersmustbeconsistant,i.e.iftwogroupsareseparatedbyahyphen,
///allgroupsmustbeseparatedbyahyphenforamatchtooccur.
///</summary>
publicconststringCREDIT_CARD=@"^(?:(?<Visa>4\d{3})|(?<Mastercard>5[1-5]\d{2})|(?<Discover>6011)|(?<DinersClub>(?:3[68]\d{2})|(?:30[0-5]\d))|(?<AmericanExpress>3[47]\d{2}))([-]?)(?(DinersClub)(?:\d{6}\1\d{4})|(?(AmericanExpress)(?:\d{6}\1\d{5})|(?:\d{4}\1\d{4}\1\d{4})))$";
/**////<summary>
///Matchessocialsecurityinthefollowingformatxxx-xx-xxxx
///wherexisanumber
///</summary>
///<example>
///Allows:123-45-6789,232-432-1212
///</example>
publicconststringSOCIAL_SECURITY=@"^\d{3}-\d{2}-\d{4}$";
/**////<summary>
///Matchesx,xwherexisaname,spacesareonlyallowedbetweencommaandname
///</summary>
///<example>
///Allows:christophersen,eric;christophersen,eric
///Notallowed:christophersen,eric;
///</example>
publicconststringNAME_COMMA_NAME=@"^[a-zA-Z]+,\s?[a-zA-Z]+$";
privatePatterns()
{
}
/**////<summary>
///Checkstoseeifthepassedinputhasthepassedpattern
///</summary>
///<paramname="pattern">Thepatterntouse</param>
///<paramname="input">Theinputtocheck</param>
///<returns>Trueiftheinputhasthepattern,falseotherwise</returns>
publicstaticboolHasPattern(stringpattern,stringinput)
{
RegexregEx=newRegex(pattern);
returnregEx.IsMatch(input);
}
/**////<summary>
///Checksthepassedinputtomakesureithasallthepatternsinthe
///passedpatternsarray
///</summary>
///<paramname="patterns">Arrayofpatterns</param>
///<paramname="input">Stringvaluetocheck</param>
///<returns>Trueiftheinputhasallofthepatterns,falseotherwise.</returns>
publicstaticboolHasPatterns(string[]patterns,stringinput)
{
for(inti=0;i<patterns.Length;i++)
{
if(Patterns.HasPattern(patterns[i],input)==false)
returnfalse;
}
returntrue;
}
}
分享到:
相关推荐
- **Java**:`java.util.regex`包下的`Pattern`和`Matcher`类处理正则表达式。 - **C#**:`System.Text.RegularExpressions`命名空间下的`Regex`类提供正则功能。 正则表达式的学习曲线可能有些陡峭,但掌握好正则...
存成.asp文件,执行,你用ASPHTTP抓内容的时候用这个很爽,当然自己要改进一下了<%Option ExplicitFunction stripHTML(strHTML)‘Strips the HTML tags from strHTML Dim objRegExp, strOutput...“<.+?>...
老外写的表达式求值封装类,可计算三角函数,反三角函数,普通公式等等. 代码修改方便,很适合扩展. 支持参数重新赋值计算等等. 演示: #include "Express.h" #include "ExpValue.h" #include "VarValue.h" void main() ...
老外写的ADO封装类,超全面,使用简单。经过长期测试,使用中相当稳定。
【标题】"老外写的图表类"是一款专用于生成各种数据可视化图表的库,它能够帮助程序员轻松地创建出美观的饼图、柱状图等多种图表类型。这个库的亮点在于其精美的设计和易用性,使得数据分析结果能够以直观、吸引人的...
这个"老外写的一个flash时间类"旨在提供一个更精确的时间控制工具,以改善标准的ActionScript 3(AS3)Timer类可能存在的精度问题。下面我们将深入探讨这个时间类的相关知识点。 1. **ActionScript 3 Timer类**: ...
老外写的焊接机器人程序.zip西门子PLC编程实例程序源码下载老外写的焊接机器人程序.zip西门子PLC编程实例程序源码下载老外写的焊接机器人程序.zip西门子PLC编程实例程序源码下载老外写的焊接机器人程序.zip西门子PLC...
3、由于受prototype.js(老外写的框架,用于将一些常用的函数封装,方便操作)的影响, 现在很多人都用 $来表示一个查找对象的函数, $=function (id) { return (typeof (id)==’object’)?id:document.get
如果想要使用或进一步了解IsapiRewriter,需要查看这些文件内容,特别是配置文件,因为配置文件中包含了定义URL重写规则的正则表达式。正则表达式是IsapiRewriter的核心,通过它可以定义复杂的匹配模式,实现灵活的...
此外,“O(nlogn)”在英文中应写为“O(n log n)”,以符合国际标准格式。 5. **过度使用被动语态**: - **例子**:“It was observed that the method performs well under certain conditions.” - **改进后**:...
【标题】"一个老外写的HtmlEditor"是一个国外开发者创建的HTML编辑器,它提供了丰富的功能,便于用户创建和编辑HTML文档。这个编辑器可能是开源的或者免费供个人使用,旨在简化网页设计过程,提高开发效率。 【描述...
老外写的程序软件,老外写的程序软件,老外写的程序软件老外写的程序软件
老外写的翻页效果 leaves老外写的翻页效果 leaves
老外写的PHP的SMTP邮件类 外带Debug模式,很好很强大
如果是老外写的英文代码 你可以调用这个程序 吧所有的英文注释 翻译成中文的 使用的时候在AppConfig里的client_id写上你的百度翻译开发者账号AppId 如果你没有用我的CasNoTBoI1xPZTvOGiE6o685不要随便传播
标题中的“ado,dao,odbc数据库操作类的vc代码”揭示了这些代码库主要涉及在Visual C++(VC)环境中使用不同的数据库访问技术,包括ActiveX Data Objects (ADO), Data Access Objects (DAO),以及Open Database ...
老外写的文件粉碎源码
标题 "ifix5.0老外写的例子" 指向的是一个使用IFix 5.0版本开发的应用程序示例,特别关注于水处理领域的工业自动化控制。IFix(Industrial Interactive Fix)是GE Digital推出的一款先进的组态软件,用于构建、监控...
【标题】:“老外写的ListView” 在Android开发中,ListView是一个非常重要的视图组件,它允许开发者在屏幕上显示大量的数据,通常以列表的形式呈现。这个标题提到的是一个由非中国开发者(老外)编写的ListView...
老外写的分割算法好 还不错 有需要的下来看看