JavaScript常用正则表达式

校验数字的正则表达式

描述 正则
数字 ^[0-9]*$
n 位的数字 ^d{n}$
至少 n 位的数字 ^d{n,}$
m-n 位的数字 ^d{m,n}$
零和非零开头的数字 ^(0|[1-9][0-9]*)$
非零开头的最多带两位小数的数字 ^([1-9][0-9]*)+(.[0-9]{1,2})?$
带 1-2 位小数的正数或负数 ^(-)?d+(.d{1,2})?$
正数、负数、和小数 ^(-|+)?d+(.d+)?$
有两位小数的正实数 ^[0-9]+(.[0-9]{2})?$
有1~3位小数的正实数 ^[0-9]+(.[0-9]{1,3})?$
非零的正整数 ^[1-9]d*$^([1-9][0-9]*){1,3}$^+?[1-9][0-9]*$
非零的负整数 ^-[1-9][]0-9"*$^-[1-9]d*$
非负整数 ^d+$^[1-9]d*|0$
非正整数 ^-[1-9]d*|0$^((-d+)|(0+))$
非负浮点数 ^d+(.d+)?$^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
非正浮点数 ^((-d+(.d+)?)|(0+(.0+)?))$^(-([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
非正浮点数 ^((-d+(.d+)?)|(0+(.0+)?))$^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
正浮点数 ^[1-9]d*.d*|0.d*[1-9]d*$^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$
浮点数 ^(-?d+)(.d+)?$^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$

校验字符的正则表达式

描述 正则
汉字 ^[u4e00-u9fa5]{0,}$
英文和数字 ^[A-Za-z0-9]+$^[A-Za-z0-9]{4,40}$
长度为3-20的所有字符 ^.{3,20}$
由26个英文字母组成的字符串 ^[A-Za-z]+$
由26个大写英文字母组成的字符串 ^[A-Z]+$
由26个小写英文字母组成的字符串 ^[a-z]+$
由数字和26个英文字母组成的字符串 ^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串 ^w+$^w{3,20}$
中文、英文、数字包括下划线 ^[u4E00-u9FA5A-Za-z0-9_]+$
中文、英文、数字但不包括下划线等符号 ^[u4E00-u9FA5A-Za-z0-9]+$^[u4E00-u9FA5A-Za-z0-9]{2,20}$
可以输入含有^%&’,;=?$"等字符 [^%&',;=?$x22]+
禁止输入含有~的字符 [^~x22]+

特殊需求正则表达式

描述 正则
Email邮箱地址 ^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/^[A-Za-z0-9._%-]+@([A-Za-z0-9-]+.)+[A-Za-z]{2,4}$/
url域名 [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
InternetURL [a-zA-z]+://[^s]*^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
手机号码 ^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$/^1[3|4|5|7|8]d{9}$/
电话号码 ^((d{3,4}-)|d{3.4}-)?d{7,8}$
国内电话号码 (0511-4405222、021-87888822):d{3}-d{8}|d{4}-d{7}
15或18位身份证 ^d{15}|d{18}$
15位身份证 ^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$
18位身份证 ^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{4}$
8 短身份证号码(数字、字母x结尾) ^([0-9]){7,18}(x|X)?$^d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线) ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线) ^[a-zA-Z]w{5,17}$
强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间) ^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
日期格式 ^d{4}-d{1,2}-d{1,2}
一年的12个月(01~09和1~12) ^(0?[1-9]|1[0-2])$
一个月的31天(01~09和1~31) ^((0?[1-9])|((1|2)[0-9])|30|31)$
xml文件 ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[x
中文字符的正则表达式 [u4e00-u9fa5]
空白行的正则表达式 s*
HTML标记的正则表达式 <(S*?)[^>]*>.*?</1>
首尾空白字符的正则表达式 ^s*|s*$(^s*)|(s*$)
腾讯QQ号 [1-9][0-9]{4,}
中国邮政编码 [1-9]d{5}(?!d)
IP地址 d+.d+.d+.d+
不能为空 /S/
匹配空行 ^(s*)