常见正则表达式
一、校验数字的表达式
- 数字:
1
^[0-9]*$
- n位的数字:
1
^\d{n}$
- 至少n位的数字:
1 | ^\d{n,}$ |
- m-n位的数字:
1
^\d{m,n}$
- 零和非零开头的数字:
1
^(0|[1-9][0-9]*)$
- 非零开头的最多带两位小数的数字:
1
^([1-9][0-9]*)+(.[0-9]{1,2})?$
- 带1-2位小数的正数或负数:
1
^(\-)?\d+(\.\d{1,2})?$
- 正数、负数、和小数:
1
^(\-|\+)?\d+(\.\d+)?$
- 有两位小数的正实数:
1
^[0-9]+(.[0-9]{2})?$
- 有1~3位小数的正实数:
1
^[0-9]+(.[0-9]{1,3})?$
- 非零的正整数:
1
^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
- 非零的负整数:
1
^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
- 非负整数:
1
^\d+$ 或 ^[1-9]\d*|0$
- 非正整数:
1
^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
- 非负浮点数:
1
^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
- 非正浮点数:
1
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
- 正浮点数:
1
^[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
^-([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
^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
二、校验字符的表达式
- 汉字:
1 | ^[\u4e00-\u9fa5]{0,}$ |
- 英文和数字:
1 | ^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$ |
1
长度为3-20的所有字符:^.{3,20}$
- 由26个英文字母组成的字符串:
1
^[A-Za-z]+$
- 由26个大写英文字母组成的字符串:
1
^[A-Z]+$
- 由26个小写英文字母组成的字符串:
1
^[a-z]+$
- 由数字和26个英文字母组成的字符串:
1
^[A-Za-z0-9]+$
- 由数字、26个英文字母或者下划线组成的字符串:
1
^\w+$ 或 ^\w{3,20}$
- 中文、英文、数字包括下划线:
1
^[\u4E00-\u9FA5A-Za-z0-9_]+$
- 中文、英文、数字但不包括下划线等符号:
1
^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
- 可以输入含有^%&’,;=?$\”等字符:
1
[^%&',;=?$\x22]+ 12 禁止输入含有~的字符:[^~\x22]+
其它:
匹配除 \n 以外的任何字符。1
.*
汉字1
/[\u4E00-\u9FA5]/
全角符号1
/[\uFF00-\uFFFF]/
半角符号1
/[\u0000-\u00FF]/
三、特殊需求表达式
1.网络
1 | IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址时有用) |
2.电话
1 | 手机号码:^(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}$ |
3.密码
1 | 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$ |
4.日期
1 | 日期格式:^\d{4}-\d{1,2}-\d{1,2} |
4.网址
1 | 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.? |
5.个人信息
1 | Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ |
6.网站
1 | html: <\s*([a-zA-Z0-9]+)\s*>.*?<\/\s*([a-zA-Z0-9]+)\s*> |
7.货币
1 | 常见钱的表示形式:^([1-9][0-9]*(?:[.]([0-9]|[0-9]{2})|)|0)$\ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小chen妙妙屋!
评论



