校验数字的表达式
数字:^[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$
正浮点数:^[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]*))$
负浮点数:^-([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)$
二, 校验字符的表达式
汉字:^[一 - 龥]{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}$
中文, 英文, 数字包括下划线:^[一 - 龥 A-Za-z0-9_]+$
中文, 英文, 数字但不包括下划线等符号:^[一 - 龥 A-Za-z0-9]+$ 或 ^[一 - 龥 A-Za-z0-9]{2,20}$
可以输入含有 ^%&',;=?$" 等字符:[^%&',;=?$"]+
禁止输入含有~ 的字符:[^~"]+
三, 特殊需求表达式
Email 地址:^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
域名:[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|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$
电话号码("XXX-XXXXXXX","XXXX-XXXXXXXX","XXX-XXXXXXX","XXX-XXXXXXXX","XXXXXXX" 和 "XXXXXXXX):^($$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}$
短身份证号码(数字, 字母 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)$
钱的输入格式:
有四种钱的表示形式我们可以接受:"10000.00″ 和"10,000.00″, 和没有 "分" 的 "10000″ 和"10,000″:^[1-9][0-9]*$
这表示任意一个不以 0 开头的数字, 但是, 这也意味着一个字符 "0″不通过, 所以我们采用下面的形式:^(0|[1-9][0-9]*)$
一个 0 或者一个不以 0 开头的数字. 我们还可以允许开头有一个负号:^(0|-?[1-9][0-9]*)$
这表示一个 0 或者一个可能为负的开头不为 0 的数字. 让用户以 0 开头好了. 把负号的也去掉, 因为钱总不能是负的吧. 下面我们要加的是说明可能的小数部分:^[0-9]+(.[0-9]+)?$
必须说明的是, 小数点后面至少应该有 1 位数, 所以 "10." 是不通过的, 但是 "10″ 和"10.2″ 是通过的:^[0-9]+(.[0-9]{2})?$
这样我们规定小数点后面必须有两位, 如果你认为太苛刻了, 可以这样:^[0-9]+(.[0-9]{1,2})?$
这样就允许用户只写一位小数. 下面我们该考虑数字中的逗号了, 我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
1 到 3 个数字, 后面跟着任意个 逗号 + 3 个数字, 逗号成为可选, 而不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
备注: 这就是最终结果了, 别忘了 "+" 可以用 "*" 替代. 如果你觉得空字符串也可以接受的话 (奇怪, 为什么?) 最后, 别忘了在用函数时去掉去掉那个反斜杠, 一般的错误都在这里
xml 文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+.[x|X][m|M][l|L]$
来源: http://www.bubuko.com/infodetail-3333195.html