常用正则表达式速查手册

180 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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+

附表说明正则表达式的基本用法:

字符作用
.匹配任意一个字符
[]匹配[]中列举的字符
[^...]匹配不在[]中列举的字符
\d0-9
\D非数字
\s空白(空格和tab)
\S非空白
\w字母数字或下划线
\W非字母数字或下划线
*0次或无限次,即可有可无
+1次或无限次,即至少一次
0次或1次
{m}出现m次
{m,}至少出现m次
{m,n}出现m到n次
开头
$结尾
\A开始位置
\B结束位置