2016-09-09
整数或者小数: ^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字: "^[0-9]*$" 。 只能输入 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-XXXXX XX" 、 "XXXX-XXXXXXXX" 、 "XXX-XXXXXXX" 、 "XXX-XXXXXXXX" 、 "XXXXXXX" 和 "XXX XXXXX" 。 验证身份证号( 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" 。 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符 ( 包括汉字在内 ) : [^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计 2 , ASCII 字符计 1 ) String.prototype.len=function(){return this.replace(/[^\x00-\xff]/ g,"aa").length;} 匹配空行的正则表达式: \n[\s| ]*\r 匹配 html 标签的正则表达式: <(.*)>(.*)<\/(.*)>|<(.*)\/> 匹配首尾空格的正则表达式: (^\s*)|(\s*$) 应用: javascript 中没有像 vbscript 那样的 trim 函数,我们就可以利用这个表达式 来实现,如下: 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,3))+RegExp.$2*Math.pow(255,2))+RegEx p.$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)) 匹配 Email 地址的正则表达式: \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+) * 匹配网址 URL 的正则表达式: http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文: onkeyup="value=value.replace(/[^\u4E00-\u 9FA5]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipboard Data.getData(‘text‘).replace(/[^\u4E00-\u9FA5]/g,‘‘))" 用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF0 0-\uFFFF]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipb oardData.getData(‘text‘).replace(/[^\uFF00-\uFFFF]/g,‘‘))" 用正则表达式限制只能输入数字: onkeyup="value=value.replace(/[^\d]/g,‘‘) "onbeforepaste="clipboardData.setData(‘text‘,clipboardData.getDat a(‘text‘).replace(/[^\d]/g,‘‘))" 用正则表达式限制只能输入数字和英文: onkeyup="value=value.replace(/[\W]/g, ‘‘) "onbeforepaste="clipboardData.setData(‘text‘,clipboardData.get Data(‘text‘).replace(/[^\d]/g,‘‘))" 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符 ( 包括汉字在内 ) : [^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计 2 , ASCII 字符计 1 ) 匹配空白行的正则表达式: \n\s*\r 评注:可以用来删除空白行 匹配 HTML 标记的正则表达式: <(\S*?)[^>]*>.*?|<.*? /> 评注: 网上流传的版本太糟糕, 上面这个也仅仅能匹配部分, 对于复杂的嵌套标记依旧无能 为力 匹配首尾空白字符的正则表达式: ^\s*|\s*$ 评注:可以用来删除行首行尾的空白字符 ( 包括空格、制表符、换页符等等 ) ,非常有用的 表达式 匹配 Email 地址的正则表达式: \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+) * 评注:表单验证时很实用 匹配网址 URL 的正则表达式: [a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求
js 常用正则
常用的正则表达式,需要的拿去
时间: 2024-10-14 04:24:39