常用正则表达式
常用正则表达式 大家在做验证时候经常会用到正则表达式,但是真正让自己去写一个复杂的正则表达式对不少人来说都是痛苦的。为了方便大家使用,这里整理了一些常用的正则表达式。希望能对大家有所帮助。。。 常用正则表达式/常用验证 只能输入数字:"^[0-9]*$"。 只能输入1-5个汉字/^[u4e00-u9fa5]{1,5}$/ 只能输入1-10个汉字或字母 /^[u0391-uFFE5A-Za-z]{1,10}$/ 只能输入n位的数字:"^d{n}$"。 只能输入至少n位的数字:"^d{n,}$"。 只能输入m~n位的数字:。"^d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。 只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。 只能输入非零的正整数:"^+?[1-9][0-9]*$"。 只能输入非零的负整数:"^-[1-9][]0-9"*$。 只能输入长度为3的字符:"^.{3}$"。 只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。 只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。 只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。 只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。 只能输入由数字、26个英文字母或者下划线组成的字符串:"^w+$"。 验证用户密码:"^[a-zA-Z]w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。 验证是否含有^%&’,;=?$"等字符:"[^%&’,;=?$x22]+"。 只能输入汉字:"^[u4e00-u9fa5]{0,}$" 验证Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。 验证InternetURL:"^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$"。 验证电话号码:"^((d{3,4}-)|d{3.4}-)?d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。 验证身份证号(15位或18位数字):"^d{15}|d{18}$"。 验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"。 验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,’’)" onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^u4E00-u9FA5]/g,’’))" 用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,clipboardData.getData(’text’).replace(/[^uFF00-uFFFF]/g,’’))" 用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,’’) "onbeforepaste="clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,’’))" 用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,’’))" ----------------------------------------------------- 限制长度 ^.{4,10}$ 4-10位的任意字符串 --------------- 只能输入n个字符 表达式:^.{n}$ 如^.{4}$ 描述:只能 输入n个字符(空格、汉字、特殊字符等都按1个字符计) ------------------------------------------------------------------------- 字 符串有效长度 表达式:^.{1,50}$ 描述:字符串有效长度(空格、汉字、特殊字 符等都按1个字符计) ----------------------------------------------------------------------- //////////////////////////////////////////////////////////////// //验 证数字 //////////////////////////////////////////////////////////////// ------------------------------------------------------------ 只 能输入1位数字 表达式:^d$ 描述:匹配1位数字 匹配 的:0,1,2,3 不匹配的:E,22 ---------------------------------------------------------- 只 能输入n位数字 表达式:^d{n}$ 如^d{8}$ 描述:匹配 8个数字 匹配的:12345678,22223334,12344321 不匹配的:E,22 ------------------------------------------------------------- 只 能输入至少n个数字 表达式:^d{n,}$ 如^d{8,}$ 描述:匹配最少n位数字 匹 配的:12345678,1234567,123123 ------------------------------------------------------------------ 只 能输入m到n个数字 表达式:^d{m,n}$ 如^d{7,8}$ 描述:匹配m到n个数字 匹 配的:12345678,1234567 不匹配的:123456,123456789 ------------------------------------------------------------------ 只 能输入某个区间数字 表达式:^[12-15]$ 描述:只能输入某个区间数 字 匹配的:12,13,14,15 不匹配的:11,16 ---------------------------------------------------------------------- 只 能输入0和非0打头的数字 表达式:^(0|[1-9][0-9]*)$ 描述:只能输入0和非0 打头的数字 匹配的:12,10,101,100 不匹配的:01 -------------------------------------------------------------------- ^[0-9]*$ 只能输入数字(任意数字) ^d+$" 非负整数(正整数 + 0) ^+?[1-9][0-9]*$ 正 整数 ^[0-9]*[1-9][0-9]*$" 正整数 ^((-d+)|(0+))$" 非正整数(负整数 + 0) ^-[1-9][0-9]*$ 负 整数 ^-[0-9]*[1-9][0-9]*$" 负整数 ^-?d+$" 整数 ^d+(.d+)?$" 非负浮点数(正浮点数 + 0) ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$" 正浮点数 ^((-d+(.d+)?)|(0+(.0+)?))$" 非 正浮点数(负浮点数 + 0) ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$" 负浮点数 ^(-?d+)(.d+)?$" 浮点数 ------------------------------------------------------------------------------------ 实 数 表达式:^[-+]?d+(.d+)?$ 描述:实数 匹配 的:18,+3.14,-9.90 不匹配的:.6,33s,67-99 -------------------------------------------------------------------- 只 能输入n位小数的正实数 表达式:^[0-9]+(.[0-9]{n})?$ 如^[0-9]+(.[0-9]{2})?$ 描述:只能输入n位小数的正实数 匹配的:2.22 不匹配的:2.222 -------------------------------------------------------------------- 只 能输入m-n位小数的正实数 表达式:^[0-9]+(.[0-9]{m,n})?$ 如^[0-9]+(.[0-9]{1,2})?$ 描述:只能输入m-n位小数的正实数 匹配的:2.22,2.2 不匹配 的:2.222,-2.2222 -------------------------------------------------------------- (^d*.?d*[1-9]+d*$)|(^[1-9]+d*.d*$) 大于零的Decimal数字 ^(d|-)?(d|,)*.?d*$ 任何Decimal数字纯数字 负数 逗号分割的数字 点分割的decimal格式 如5,000 -5,000 100.044 .2 ^(d|-)?(d|,)*.?d*$ 0-99999999的带 或不带逗号的数字 ///////////////////////////////////////////////////////////////////////// //验 证西文字符 //////////////////////////////////////////////////////////////////////// ^[A-Za-z]+$" 由26个英文字母组成的字符串 ^[A-Z]+$" 由 26个英文字母的大写组成的字符串 ^[a-z]+$" 由26个英文字母的小写 组成的字符串 ^[A-Za-z0-9]+$" 由数字和26个英文字母组成的字符串 ^w+$" 由数字、26个英文字母或者下划线组成的字符串 ^.[a-zA-Z]w{m,n}$ 匹 配英文字符开头的m-n位字符且只能数字字母或下划线 b[^Wa-z0-9_][^WA-Z0-9_]*b 首字母只能大写 ---------------------------------------------------------------------- 连 在一起的两个相同的单词 表达式:(w+)s+1 描述:验证连在一起的两个相同的单词 匹配 的:abc abc 不匹配的:abc abcd ----------------------------------------------------- 双 引号括起来的词 表达式:"((http://www.cnblogs.com/matchcolor/admin/file://%22)%7c[%5e%22(//")])+" 描述:验证用双引号括起来的词 匹配 的: "Abc" "abc"sff" 不匹配的: "sdfsdfsdf ------------------------------------------------------- //////////////////////////////////////////////////// //验 证特定格式 //////////////////////////////////////////////////// ----------------------------------------------------- Email 地址 表达式:^[w-]+(.[w-]+)*@[w-]+(. [w-]+)+$" 描述:普通验证 表达式:w+([-+.]w+)*@w+([-.] w+)*.w+([-.]w+)* 描述:微软Email验证 复杂表达 式:^(([^<>;()[].,;:@"]+(.[^<>()[].,;:@"]+)*)|(".+"))@((([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|([((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5])))).){3}(([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))])).)*(([a-z]([-a-z0-9]*[a-z0-9])?)|(#[0-9]+)|([((([01]?[0-9]{0,2})|(2(([0-4][0-9])|(5[0-5]))))]))$ 描述:标准验证电子邮件地址,所有符合RFC821(http://www.cis.ohio-state.edu/cgi-bin/rfc /rfc0821.html#page-30)规定的格式的邮件地址 ------------------------------------------------------------------------------------------------- Url 验证 表达式:^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(? S*)?$" 描述:普通Url验证 表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)? 描述:微软Url验证 ---------------------------------------------------------------------------------------------- 表 达式:[0-9]{5,9} 描述:5-9位的QQ号 表达 式:d{18}|d{15} 描述:15位18位身份证号 表 达式:^[1-9]([0-9]{16}|[0-9]{13})[xX0-9]$ 描述:15或者18位的身份证号,支持带 X的 表达式:^13[0-9]{1}[0-9]{8}|^15[9]{1}[0-9]{8} 描述:包 含159的手机号130-139 表达式:(Pd{7})|Gd{8}) 描述:验证P+7个数字和G+8个数字 护照 表达式:^[a-zA-Z0-9]+([a- zA-Z0-9-.]+)?.(com|org|net|cn|com.cn|edu.cn|grv.cn|)$ 描述:验 证域名 表达式:^(d{1,2}|1dd|2[0-4]d|25[0-5]). (d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" 描述:IP地址 表达式:^(25[0-5]|2[0-4][0-9]|[0-1]{1} [0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$ 描述:验证IP -------------------------------------------------------------------------------------- 信 用卡 表达式:^[{|(]?[0-9a-fA-F]{8}[-]?([0-9a-fA-F]{4}[-]?){3}[0-9a-fA-F] {12}[)|}]?$ 描述:16位数字用连字符或者空格或者分割 匹配的: 1234343425262837 1111-2323-2312-3434 1111 2323 2312 3434 不匹配的: 1111 2323 2312-3434 表达式:^((?:4d{3})| (?:5[1-5]d{2})|(?:6011)|(?:3[68]d{2})|(?:30[012345]d))[ -]?(d{4})[ -]?(d{4})[ -]?(d{4}|3[4,7]d{13})$ 描述:验证VISA卡,万事达 卡,Discover卡,美国运通卡 -------------------------------------------------------------------------------------------- ^(d[- ]*){9}[dxX]$ //验证ISBN国际标准书号 如7-111-19947-2 ^[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}$ //验证GUID全球唯一标识符 如2064d355-c0b9-41d8-9ef7-9d8b26524751 ^([a-zA-Z]:|)([^]+)*[^/:*?"<>|]+.txt(l)?$ //检查路径和文件扩展名 E:mo.txt 错 E:,mo.doc,E:mo.doc 图片 src[^>]*[^/].(?:jpg|bmp|gif)(?:"|') 网址 "&;a.+?href=['""](?!http://)(?!mailto:)(?>foundAnchor>[^'"">]+?)[^>]*?&;" /////////////////////////////////////////////////////////////// //验 证中文字符 ////////////////////////////////////////////////////////////// ------------------------------------------------------------------- 表 达式:^([u4e00-u9fa5]+|[a-zA-Z0-9]+)$ 描述:中文 表达 式:[u4e00-u9fa5] 描述:中文字符 表达式: (/[^u4E00-u9FA5]/g 描述:中文字符 表达 式:^[u4e00-u9fa5]{0,}$ 描述:只能汉字 表达式: [^x00-xff] 描述:双字节字符(包括汉字在内) 表 达式:n[s| ]*r 描述:匹配空行 表达式: (^s*)|(s*$) 描述:匹配首尾空格:(像vbscript那样的trim函数) ------------------------------------------------------------ 验 证16进制颜色值 表达式:^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]| [0-9]){3})?$ 描述:验证16进制的颜色值,#是可选的。 匹配的: #00ccff ffffcc 不 匹配的: blue 0x000000 ------------------------------------------------------------- /////////////////////////////////////////////////////// //标 记相关 /////////////////////////////////////////////////////// ------------------------------------------------------- 验 证HTML标记 表达式:/<(.*)>.*</1>|<(.*) />/ 描 述:匹配HTML标记 ------------------------------------------------------ 验 证标记 描述: 所有的html和xml标记 表达式:< [^>]+> -------------------------------------------------------------- 验 证一对封闭的<>标记 表达式:^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A- F]|[0-9]){3})?$ 描述:验证一对括起来的<>标记。 匹配的: <body> text<br/>More Text </body> <a href="link.html">Link</a> 不匹配的: blue 0x000000 ------------------------------------------------------------ 验 证HTML中所有合法的on事件 表达式: (?i:on(blur|c(hange|lick)|dblclick|focus|keypress|(key|mouse)(down|up)|(un)?load|mouse(move|o(ut|ver))|reset|s(elect|submit))) 描 述:验证HTML中所有合法的on事件 匹配的:onclick onmouSEOver 不匹配的:Click Move -------------------------------------------------------- 查 找html中的注释 表达式:<!--.*?--> 描述:查找html中的注释 匹配 的:<!--<h1>this text has been removed</h1>--> 不匹配 的:<h1>this text has been removed</h1> ---------------------------------------------------------------- 查 找html中的特定文件(swf.jpg.gif…) 表达式:<[^>]*n?.*=("|')?(.* .jpg)("|')?.*n?[^<]*> 描述:查找html中的特定文件(swf.jpg.gif…)把jpg换为gif, 即是查找所有的gif文件。 匹配的:<td background="../img/img.jpg" > 不匹配的:= img.jpg ------------------------------------------------------------------------- /////////////////////////////////////////// //日 期和时间相关 /////////////////////////////////////////// ------------------------------------------------------------------------- ^(d{1,4})(-|/)(d{1,2})2(d{1,2})$ //日期格式2007-07-07 /^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日 /^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年 YYYY-MM-DD基本上把闰年和2月等的情况都考虑进去了 ^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$ --------------------------------------------------------------- 日 期验证 表达式: ^(?:(?:(?:(?:(?:1[6-9]|[2-9]d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(/|-|.)(?:0?21(?:29)))|(?:(?:(?:1[6-9]|[2-9]d)?d{2})(/|-|.)(?:(?:(?:0?[13578]|1[02])2(?:31))|(?:(?:0?[1,3-9]|1[0-2])2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))2(?:0?[1-9]|1d|2[0-8]))))$ 描 述: 验证格式为y/m/d的日期从1600/1/1 - 9999/12/31的日期 匹配的: 04/2/29 2002-4-30 02.10.31 不 匹配的: 2003/2/29 02.4.31 00/00/00 ------------------------------------------------------- 合 法的日期和时间 表达式: ^((d{2}(([02468][048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|([1-2][0-9])))))|(d{2}(([02468][1235679])|([13579][01345789]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(s(((0?[0-9])|([1-2][0-3])):([0-5]?[0-9])((s)|(:([0-5]?[0-9])))))?$ 描 述:验证所有合法的日期和时间 匹配的: yyyy-MM-dd hh:mm:ss yyyy-MM-dd hh:mm:ss 不 匹配的:2003/2/29 00/00/00 -------------------------------------------------- 标 准ANSI SQL日期验证 表达式: ^((d{2}(([02468][048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|([1-2][0-9])))))|(d{2}(([02468][1235679])|([13579][01345789]))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(s(((0?[1-9])|(1[0-2])):([0-5][0-9])((s)|(:([0-5][0-9])s))([AM|PM|am|pm]{2,2})))?$ 描 述: 匹配ANSI SQL的日期格式:yyyy-MM-dd hh:mm:ss am/pm 包括检查从1901-2099是否是闰年。 匹 配的: 2004-2-29 2004-02-29 10:29:39 pm 2004/12/31 不匹配的 04-2-29 04-02-29 10:29:39 pm 04/12/31 --------------------------------------------------------- ////////////////////////////////////////////////////// //其 他 ////////////////////////////////////////////////////// ------------------------------------------------------------ 匹 配字体 表达式:^(d)(d)*( )*(px|PX|Px|pX|pt|PT|Pt|pT|)$ 描述:查 找字体的后缀 匹配的: 1px 100 PT 20Px 不匹配的:1abc、px、1、sdfs ------------------------------------------------------------- 匹 配MD5哈西字符串 表达式:^([a-z0-9]{32})$ 描述:匹配MD5哈西字符串 匹配 的:790d2cf6ada1937726c17f1ef41ab125 不匹配 的:790D2CF6ADA1937726C17F1EF41AB125 --------------------------------------------------------------------------- 以下是例子: 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))" 1. 用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))" 2. 用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))" 3. 用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,''))" 4.计 算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;} 5.javascript中没有像 vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: String.prototype.trim = function() { return this.replace(/(^s*)|(s*$)/g,""); } 利 用正则表达式分解和转换IP地址: 6.下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的 Javascript程序: function IP2V(ip) { re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式 if(re.test(ip)) { return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 } else { throw new Error("不是一个正确的IP地址!") } } 不 过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: var ip="10.100.20.168" ip=ip.split(".") alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) (?<=>)[^>]*(?=<) 得用正则表达式从URL地址中提取文件名的Javascript程序,如下结果为page1 以下是引用片段: s="http://www.9499.net/page1.htm" s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2") alert(s) 匹配双字节字符(包括汉字在内):[^x00-xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 以下是引用片段: String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;} 匹配空行的正则表达式:n[s| ]*r 匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/ 匹配首尾空格的正则表达式:(^s*)|(s*$) 以下是引用片段: String.prototype.trim = function() { return this.replace(/(^s*)|(s*$)/g,""); } 利用正则表达式分解和转换IP地址: 下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序: 以下是引用片段: function IP2V(ip) { re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式 if(re.test(ip)) { return RegExp.$1*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 } else { throw new Error("Not a valid IP address!") } } 不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: 以下是引用片段: var ip="10.100.20.168" ip=ip.split(".") alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) ////////////////////////////////////////////////////////////////// 验证手机号码和电话号码的正则表达式 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号) ((d{11})|^((d{7,8})|(d{4}|d{3})-(d{7,8})-(d{4}|d{3}|d{2}|d{1})|(d{7,8})-(d{4}|d{3}|d{2}|d{1}))$) 匹配格式: 11位手机号码 3-4位区号,7-8位直播号码,1-4位分机号 如:12345678901、1234-12345678-1234 "^d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?d+$" //整数 "^d+(.d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 "^((-d+(.d+)?)|(0+(.0+)?))$" //非正浮点数(负浮点数 + 0) "^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点 数 "^(-?d+)(.d+)?$" //浮点数 "^[A-Za-z]+$" //由26个英文字母组成的字符串 "^[A-Z]+$" //由26个英文字母的大写组成的字符串 "^[a-z]+$" //由26个英文字母的小写组成的字符串 "^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串 "^w+$" //由数字、26个英文字母或者下划线组成的字符串 "^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$" //email地址 "^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$" //url /^13d{9}$/gi手机号正则表达式 public static bool IsValidMobileNo(string MobileNo) { const string regPattern = @"^(130|131|132|133|134|135|136|137|138|139)d{8}$"; return Regex.IsMatch(MobileNo,regPattern); } 正则表达式--验证手机号码:13[0-9]{9} 实现手机号前带86或是+86的情况:^((+86)|(86))?(13)d{9}$ 电话号码与手机号码同时验证:(^(d{3,4}-)?d{7,8})$|(13[0-9]{9}) 提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(w||/|.)+('|"| *|>)? 提取信息中的邮件地址:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(w||/|.)+('|"| *|>)? 提取信息中的IP地址:(d+).(d+).(d+).(d+) 提取信息中的中国手机号码:(86)*0*13d{9} 提取信息中的中国固定电话号码:((d{3,4})|d{3,4}-|s)?d{8} 提取信息中的中国电话号码(包括移动和固定电话):((d{3,4}-|s)?d{7,14} 提取信息中的中国邮政编码:[1-9]{1}(d+){5} 提取信息中的中国身份证号码:d{18}|d{15} 提取信息中的整数:d+ 提取信息中的浮点数(即小数):(-?d*).?d+ 提取信息中的任何数字 :(-?d*)(.d+)? 提取信息中的中文字符串:[u4e00-u9fa5]* 提取信息中的双字节字符串 (汉字):[^x00-xff]* (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |