常用正则表达式
大约 3 分钟
校验数字的表达式
数字匹配规则
- 纯数字:
^[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]\d*$
- 非零负整数:
^-[1-9]\d*$
- 非负整数:
^\d+$ 或 ^[1-9]\d*|0$
- 非正整数:
^-?[1-9]\d*|0$ 或 ^-?\d+$
浮点数匹配
- 非负浮点数:
^\d+(\.\d+)?$ 或 ^[1-9]\d*\.?\d*|0\.\d*[1-9]\d*$
- 非正浮点数:
^-?(\d+\.?\d*|\.\d+)$
- 正浮点数:
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
-负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
-通用浮点数:^-?\d+(\.\d+)?$ 或 ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
校验字符的表达式
字符匹配规则
- 汉字(包括空字符串):
^[\u4e00-\u9fa5]*$
- 英文和数字:
^[A-Za-z0-9]+$
(基础版) 或^[A-Za-z0-9]{4,40}$
(限制长度版) - 长度为3-20的任意字符:
^.{3,20}$
(默认不包含换行符) - 纯英文字母字符串:
^[A-Za-z]+$
- 纯大写英文字母:
^[A-Z]+$
- 纯小写英文字母:
^[a-z]+$
- 英文数字混合字符串:
^[A-Za-z0-9]+$
- 英文、数字、下划线组合:
^\w+$
(基础版) 或^\w{3,20}$
(限制长度版) - 中文、英文、数字、下划线:
^[\u4E00-\u9FA5A-Za-z0-9_]+$
- 中文、英文、数字(排除下划线):
^[\u4E00-\u9FA5A-Za-z0-9]+$
或^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
特殊符号规则
- 允许包含
^%&',;=?$"
等符号:^[^%&',;=?$\x22]+$
(说明:匹配不包含这些符号的字符串) - 禁止包含
~
的字符:^[^~]+$
(说明:匹配不含 ~ 的字符串)
常用信息匹配
- 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})+$
- URL:
^(https?://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
(支持 http 和 https)
电话与身份验证
- 手机号码(中国大陆):
^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$
- 固定电话号码(格式如 XXX-XXXXXXX):
^\d{3,4}-\d{7,8}$
- 身份证号(15/18位,支持末位X):
^(\d{15}|\d{17}[\dXx])$
账户与密码
- 用户名(字母开头,5-16位,允许下划线):
^[a-zA-Z]\w{4,15}$
- 密码(字母开头,6-18位,字母/数字/下划线):
^[a-zA-Z]\w{5,17}$
强密码(需大小写字母+数字,8-10位):
- 无特殊字符:
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$
- 允许特殊字符:
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
日期与时间
- 日期(YYYY-MM-DD):
^\d{4}-\d{1,2}-\d{1,2}
- 月份(01-12 或 1-12):
^(0?[1-9]|1[0-2])$
- 日期(01-31 或 1-31):
^((0?[1-9])|((1|2)[0-9])|30|31)$
金融与格式
- 金额格式(支持千分位和两位小数):
^[1-9]\d{0,2}(,\d{3})*(\.\d{1,2})?$
- 非负整数或小数:
^(0|[1-9]\d*)(\.\d{1,2})?$
其他规则
- XML文件:
^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[xX][mM][lL]$
- 中文字符:
[\u4e00-\u9fa5]
- 双字节字符(如汉字):
[^\x00-\xff]
- 空白行:
\n\s*\r
- HTML标签:
<\/?(\w+)(\s+[^>]*)?>
- 首尾空白字符:
^\s+|\s+$
- 腾讯QQ号(5位以上):
^[1-9]\d{4,}$
- 中国邮政编码:
^[1-9]\d{5}$
- IPv4地址:
((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}