常用的JavaScript正则匹配规则代码收藏,很实用

收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码、Email、中文字符、身份证号、邮编、QQ号、过滤空白行、匹配特定数字等。觉得这玩意是很有用的,只不过自己水平菜,老是自己写不出,看了这个文档,觉得心里踏实很多,用到正则匹配的时候,看下这个,相信为让你省不少时间。注:本正则不仅限于在JS中使用,其它语言也可以借鉴。

匹配特定数字:

^[1-9]\d*$    //匹配正整数

^-[1-9]\d*$   //匹配负整数

^-?[1-9]\d*$   //匹配整数

^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)

^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)

匹配中文字符: [\u4e00-\u9fa5]

匹配双字节字符(包括汉字在内):[^\x00-\xff],可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行:\n\s*\r,比如用来删除空白行

匹配HTML标记:<(\S*?)[^>]*>.*?</\1>|<.*? />

匹配首尾空白字符:^\s*|\s*$,可用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),个人觉得很有用

匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配网址URL:[a-zA-z]+://[^\s]*

匹配用户名是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

匹配电话号码:\d{3}-\d{8}|\d{4}-\d{7},匹配形式如 0511-4405222 或 021-87888822

匹配QQ号:[1-9][0-9]{4,}

匹配邮政编码:[1-9]\d{5}(?!\d),也就是匹配6位数字

匹配身份证:\d{15}|\d{18},身份证为15位或18位

匹配ip地址:\d+\.\d+\.\d+\.\d+,提取ip时有用。



匹配特定字符串:

^[A-Za-z]+$  //匹配由26个英文字母组成的字符串

^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串

^[a-z]+$  //匹配由26个英文字母的小写组成的字符串

^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串

^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

验证1900-2099年日期 /^((19|20)[0-9]{2})-(([1-9]{1})|10|11|12)$/ /^\d{4}\-([1-9]|1[012])$/

验证一年的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”。

只能输入数字:“^[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}$”

匹配格式为2005-1-1的日期 格式不能为2005-01-01,来看一个例子:
<script language=javascript>

var str="2005-04-03";

re=/\d{4}(-(?!0))\d{1,2}(-(?!0))\d{1,2}/

if(!re.test(str))

{

alert("格式错误")

}

else

{

alert("正确")

}

</script>

 

你可能感兴趣的:(JavaScript)