一、校验数字的表达式
数字:
^[0-9]*$
匹配任意位数的数字。
n位的数字:
^\d{n}$
匹配恰好n位的数字。
至少n位的数字:
^\d{n,}$
匹配至少n位的数字。
m-n位的数字:
^\d{m,n}$
匹配m到n位的数字。
零和非零开头的数字:
^(0|[1-9][0-9]*)$
匹配以零或非零开头的数字。
非零开头的最多带两位小数的数字:
^([1-9][0-9]*)+(.[0-9]{1,2})?$
匹配非零开头且最多带两位小数的数字。
非零开头的最多带两位小数的数字:
^([1-9][0-9]*)(\.[0-9]{1,2})?$
修改:原表达式错误,需在括号外加上星号(都可以匹配)
带1-2位小数的正数或负数:
^(\-)?\d+(\.\d{1,2})?$
匹配带1-2位小数的正数或负数。
正数、负数、和小数:
^(\-|\+)?\d+(\.\d+)?$
匹配正数、负数和小数。
有两位小数的正实数:
^[0-9]+(.[0-9]{2})?$
匹配有两位小数的正实数。
有1~3位小数的正实数:
^[0-9]+(.[0-9]{1,3})?$
匹配有1到3位小数的正实数。
非零的正整数:
^[1-9]\d*$
匹配非零的正整数。
非零的负整数:
^\-[1-9][0-9]*$
匹配非零的负整数。
非负整数:
^\d+$
匹配非负整数。
非正整数:
^-[1-9]\d*|0$
匹配非正整数。
非负浮点数:
^\d+(\.\d+)?$
匹配非负浮点数。
非正浮点数:
^((-\d+(\.\d+)?)|(0+(\.0+)?))$
匹配非正浮点数。
正浮点数:
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
匹配正浮点数。
负浮点数:
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
匹配负浮点数。
浮点数:
^(-?\d+)(\.\d+)?$
匹配浮点数。
二、校验字符的表达式
汉字:
^[\u4e00-\u9fa5]{0,}$
匹配汉字。
英文和数字:
^[A-Za-z0-9]+$
匹配英文和数字。
长度为3-20的所有字符:
^.{3,20}$
匹配长度为3到20的任意字符。
由26个英文字母组成的字符串:
^[A-Za-z]+$
匹配由26个英文字母组成的字符串。
由26个大写英文字母组成的字符串:
^[A-Z]+$
匹配由26个大写英文字母组成的字符串。
由26个小写英文字母组成的字符串:
^[a-z]+$
匹配由26个小写英文字母组成的字符串。
由数字和26个英文字母组成的字符串:
^[A-Za-z0-9]+$
匹配由数字和26个英文字母组成的字符串。
由数字、26个英文字母或者下划线组成的字符串:
^\w+$
匹配由数字、26个英文字母或者下划线组成的字符串。
中文、英文、数字包括下划线:
^[\u4E00-\u9FA5A-Za-z0-9_]+$
匹配中文、英文、数字和下划线。
中文、英文、数字但不包括下划线等符号:
^[\u4E00-\u9FA5A-Za-z0-9]+$
匹配中文、英文和数字。
可以输入含有^%&',;=?$"等字符:
[^%&',;=?$\x22]+
匹配不含^%&',;=?$"等字符的字符串。
禁止输入含有~的字符:
[^~\x22]+
匹配不含~字符的字符串。
三、特殊需求表达式
Email地址:
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
匹配Email地址。
域名:
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
匹配域名。
域名:
[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]*
匹配InternetURL。
手机号码:
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
匹配中国的手机号码。
手机号码:
^(13[0-9]|14[5|7]|15[0-3]|15[5-9]|18[0-9]|17[0-9])\d{8}$
修改:更精确的手机号码匹配
电话号码:
^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$
匹配各种格式的电话号码。
电话号码:
^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$
修改:原表达式缺少部分匹配符
国内电话号码:
\d{3}-\d{8}|\d{4}-\d{7}
匹配中国的国内电话号码。
身份证号(15位、18位数字):
^\d{15}|\d{18}$
匹配中国的身份证号码。
身份证号(15位、18位数字):
^\d{15}|\d{17}[\dXx]$
修改:原表达式不准确,18位应包括末尾的X或x
短身份证号码(数字、字母x结尾):
^([0-9]){7,18}(x|X)?$
匹配短身份证号码。
短身份证号码(数字、字母x结尾):
^([0-9]{7,18})([xX])?$
修改:原表达式需括号分组
帐号是否合法:
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配合法的帐号。
密码(以字母开头,长度在6~18之间):
^[a-zA-Z]\w{5,17}$
匹配合法的密码。
强密码(必须包含大小写字母和数字的组合):
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
匹配强密码。
日期格式:`^\d{4}-\d{1,2}-\d{1,2}$
匹配日期格式。
一年的12个月:
^(0?[1-9]|1[0-2])$
匹配月份。
一个月的31天:
^((0?[1-9])|((1|2)[0-9])|30|31)$
匹配天数。
钱的输入格式
^[1-9][0-9]*$
:匹配正整数。^(0|[1-9][0-9]*)$
:匹配0或正整数。^(0|-?[1-9][0-9]*)$
:匹配0或负数。^[0-9]+(.[0-9]+)?$
:匹配正数或小数。^[0-9]+(.[0-9]{2})?$
:匹配两位小数。^[0-9]+(.[0-9]{1,2})?$
:匹配1到2位小数。^([0-9]{1,3})(,[0-9]{3})*(.[0-9]{1,2})?$
:匹配带逗号的数字。^([0-9]{1,3})(,[0-9]{3})*(.[0-9]{1,2})?$
:匹配带逗号的两位小数。
xml文件:
^<(\S+?)(.*?)>(.*?)<\/\1>$|<.*?\/>$
匹配xml文件。
中文字符:
[\u4e00-\u9fa5]
匹配中文字符。
双字节字符:
[^\x00-\xff]
匹配双字节字符。
空白行:
\n\s*\r
匹配空白行。
HTML标记:
<(\S*?)[^>]*>.*?|<.*?\/>
匹配HTML标记。
首尾空白字符:
^\s*|\s*$
匹配首尾空白字符。
帐号是否合法:
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配合法的帐号。
腾讯QQ号:
^[1-9][0-9]{4,}$
匹配腾讯QQ号。
中国邮政编码:
[1-9]\d{5}(?!\d)
匹配中国邮政编码。
IP地址:
\d+\.\d+\.\d+\.\d+
匹配IP地址。
IP地址:
\d+\.\d+\.\d+\.\d+
修改:
^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$
更准确匹配IPv4地址。
数字、英文字母和下划线组成的字符串:
^[A-Za-z0-9_]+$
数字、字母、中文和下划线组成的字符串:
^[\u4E00-\u9FA5A-Za-z0-9_]+$
只能包含数字、字母、特殊字符的8-12位密码:
^[a-zA-Z0-9_!@#$%^&*?]{8,12}$
以字母开头,后面可以是数字、字母、下划线的帐号:
^[a-zA-Z][a-zA-Z0-9_]{0,}$
IP地址校验表达式
IP地址:
((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
无转义字符:
((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))
正确