持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天。
数字
整数:[0-9]+
N位整数:^\d{n}$
至少n位的整数:^\d{n,}$
m-n位数字:^\d{m,n}$
0和非0开头的数字:^(0|[1-9][0-9]*)$
带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$
十六进制数:[0-9a-fA-F]+
浮点数: ^(-?\d+)(\.\d+)?$或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
字符
汉字:^[\u4e00-\u9fa5]{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]+$
其他
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})+/.?
手机号:^(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}$
身份证号(15位、18位数字):^\d{15}|\d{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}
qq号(从10000开始):[1-9][0-9]{4,}
邮编(6位数字):[1-9]\d{5}(?!\d)
IP地址(提取IP地址):\d+.\d+.\d+.\d+
附表说明正则表达式的基本用法:
| 字符 | 作用 |
|---|---|
| . | 匹配任意一个字符 |
| [] | 匹配[]中列举的字符 |
| [^...] | 匹配不在[]中列举的字符 |
| \d | 0-9 |
| \D | 非数字 |
| \s | 空白(空格和tab) |
| \S | 非空白 |
| \w | 字母数字或下划线 |
| \W | 非字母数字或下划线 |
| * | 0次或无限次,即可有可无 |
| + | 1次或无限次,即至少一次 |
| ? | 0次或1次 |
| {m} | 出现m次 |
| {m,} | 至少出现m次 |
| {m,n} | 出现m到n次 |
| 开头 | |
| $ | 结尾 |
| \A | 开始位置 |
| \B | 结束位置 |