常用正则表达式教程:手机号、身份证、日期、车牌号、密码强度现成可用
一句话答案
打开常用正则表达式大全,在搜索框输入“手机”“身份证”等关键词,点击对应行复制正则;例如中国大陆手机号是 ^1[3-9]\d{9}$。正则只校验格式,身份证真伪等需要后端或官方渠道核验。
表单校验、数据清洗、日志筛选经常需要一些“标准”正则。常用正则表达式大全 收录了手机号、身份证、URL、IP、日期、中文、密码强度、车牌号、统一社会信用代码等二十多条常用规则,搜索后点击即可复制。
操作步骤
- 搜索:打开 常用正则表达式大全,在搜索框输入“手机”“日期”“车牌”等关键词。
- 复制:点击对应的一行,只复制“正则表达式”一栏的内容。
- 测试:粘贴到代码或正则测试工具里,用几条正确和错误的样例验证一遍。

🔍 常用正则表达式大全
免费在线使用,文件和数据只在你的浏览器本地处理,无需注册。
常用规则速查
中国大陆手机号 ^1[3-9]\d{9}$
中国身份证(18位) ^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$
日期 YYYY-MM-DD ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
时间 HH:MM:SS ^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$
中国邮政编码 ^[1-9]\d{5}$
车牌号(含新能源) ^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$
统一社会信用代码 ^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$
强密码(大小写+数字,8位以上) ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$
金额(最多两位小数) ^\d+(\.\d{1,2})?$
十六进制颜色 ^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
以手机号为例:^ 和 $ 表示从头到尾完整匹配,1 是固定的第一位,[3-9] 是第二位,\d{9} 是后面 9 位数字,合起来正好 11 位。
使用时要注意
- 格式对不等于真实有效:身份证正则只检查位数、出生日期范围和末位格式,不验证校验码,更不能证明身份真实;日期正则也不会判断 2 月 30 日这种不存在的日期;
- 前端校验只是辅助:浏览器里的校验可以被绕过,关键校验必须在后端再做一次;
- 匹配中文的范围:[\u4e00-\u9fa5] 只覆盖最常用的基本汉字区,“𠮷”等扩展区汉字匹配不到;JavaScript 中可以改用 /\p{Script=Han}/u;
- 号段会变化:手机号第二位的范围随新号段开放而变化,长期项目里放宽为 ^1\d{10}$ 更稳妥。
正则语法本身不熟悉,先看 正则表达式入门;密码规则见 强密码生成。
常见问题
中国大陆手机号的正则是什么?
常用写法是 ^1[3-9]\d{9}$:以 1 开头,第二位 3 到 9,共 11 位数字。
身份证正则能判断身份证是真的吗?
不能。正则只检查格式,不验证校验码,更不能证明身份真实,真实性需要通过官方渠道核验。
为什么有些汉字匹配不上 [\u4e00-\u9fa5]?
这个范围只包含基本汉字区,扩展区的生僻字不在其中。JavaScript 可以使用 \p{Script=Han} 并加上 u 标志。
前端写了正则校验,后端还需要校验吗?
需要。前端校验可以被绕过,只用于提升用户体验,关键数据必须在后端再次校验。