(转)正则表达式大全
一、数字校验表达式
1. 数字: ^[0-9]*$
2. n位的数字: ^d{n}$
3. 至少n位的数字:^d{n,}$
4. m-n位的数字: ^d{m,n}$
5. 0和非0开头的数字:^(0|[1-9][0-9]*)$
6. 非0开头的最多带两位小数的数字: ^([1-9][0-9]*)+(.[0-9]{1,2})?$
7. 带1-2位小数的正数或者负数: ^(-)?d+(.d{1,2})?$
8. 正数、负数、和小数: ^(-|+)?d+(.d+)?$
9. 有两位小数的正实数: ^[0-9]+(.[0-9]{2})?$
10. 有1~3位小数的正实数: ^[0-9]+(.[0-9]{1,3})?$
11. 非0的正整数: ^[1-9]d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^+?[1-9][0-9]*$
12. 非0的负整数: ^-[1-9][]0-9"*$ 或 ^-[1-9]d*$
13. 非负整数: ^d+$ 或 ^[1-9]d*|0$
14. 非正整数: ^-[1-9]d*|0$ 或 ^((-d+)|(0+))$
15. 非负浮点数: ^d+(.d+)?$ 或 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
16. 非正浮点数: ^((-d+(.d+)?)|(0+(.0+)?))$ 或 ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
17. 正浮点数: ^[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]*))$
18. 负浮点数: ^-([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]*)))$
19. 浮点数: ^(-?d+)(.d+)?$ 或 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$
二、字符校验表达式
1. 汉字: ^[u4e00-u9fa5]{0,}$
2. 英文和数字: ^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
3. 长度为3-20的所有字符: ^.{3,20}$
4. 由26个英文字母组成的字符串: ^[A-Za-z]+$
5. 由26个小写/大写英文字母组成的字符串: ^[a-z]+$ ^[A-Z]+$
6. 由数字和26个英文字母组成的字符串: ^[A-Za-z0-9]+$
7. 由数字、26个英文字母或者下划线组成的字符串: ^w+$ 或 ^w{3,20}$
8. 中文、英文、数字包括下划线: ^[u4E00-u9FA5A-Za-z0-9_]+$
9. 中文、英文、数字但不包括下划线等符号:^[u4E00-u9FA5A-Za-z0-9]+$ 或 ^[u4E00-u9FA5A-Za-z0-9]{2,20}$
10. 可以输入含 可以输入含有^%&',;=?$"等字符:[^%&',;=?$x22]+
11. 禁止输入含有~的字符:[^~x22]+
三、 特殊需求表达式
1. Email地址: ^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
2. 域名: [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
3. InternetURL: [a-zA-z]+://[^s]* 或 ^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
4. 手机号码: ^(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}$
5. 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX): ^((d{3,4}-)|d{3.4}-)?d{7,8}$
6. 国内电话号码: d{3}-d{8}|d{4}-d{7}
7. 身份证号码: ^d{15}|d{18}$