一、校验数字的表达式
数字:
^[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))正确