文本调试

身份证号码正则表达式怎么写?

整理 18 位身份证号码基础正则、出生日期校验思路和前后端表单验证注意事项。

打开正则表达式测试器

基础身份证正则可以先校验格式

常见 18 位身份证号码由 17 位数字加最后一位数字或 X 组成。基础正则可以先判断长度和字符组成,例如 ^\d{17}[\dXx]$。

如果要进一步校验出生日期和校验位,单靠一个正则会变复杂,建议用代码逻辑补充判断。

  • 基础格式:^\d{17}[\dXx]$
  • 出生日期在第 7 到 14 位。
  • 最后一位可能是数字,也可能是 X。

正则不等于完整身份校验

正则只能判断格式是否像身份证号,不能证明号码真实有效。实名场景应使用权威接口或业务系统校验。

前端表单建议只做基础格式提示,最终校验仍应放在后端。

测试时要准备边界样本

测试身份证正则时,要准备 17 位、19 位、末位小写 x、包含空格、出生日期非法等反例。这样更容易发现表达式是否过宽或过严。

常见问题

身份证最后一位小写 x 可以吗?

业务上通常可以接受小写 x,再统一转成大写 X 处理。

正则能判断身份证真假吗?

不能完全判断,只能做格式校验。真实性需要结合权威数据源。

为什么不建议写超长身份证正则?

过长表达式难维护,日期和校验位更适合用程序逻辑判断。

🛠️ 更多实用工具: JSON格式化 YAML↔JSON XML↔JSON Base64编解码 URL编码 JWT解析 MD5/SHA加密 UUID生成 二维码生成 正则测试 文本Diff 时间戳转换 SQL格式化 Mock数据 图片压缩 图片Base64 颜色转换
📚 热门教程: 微信 XML 转 JSON SQL 关键字大写 批量 UUID 生成 文件 MD5 校验 身份证号码正则 JPG/PNG/WebP 互转 WiFi 二维码生成 URL 中文参数编码 当前时间戳获取 JSON 压缩去空格 全部教程