星点 星点-正则工具 本系列首页
关于
版本 v1.0.0

身份证号码正则表达式

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]$/

匹配 18 位居民身份证号:前 6 位地区码、8 位出生日期、3 位顺序码与 1 位校验位(可为 X)。

身份证正则 · 规则说明

18 位身份证号的结构为:6 位地址码 + 8 位出生日期(YYYYMMDD)+ 3 位顺序码 + 1 位校验位。

规则用 (?:18|19|20)\d{2} 限定年份,月份 01-12、日 01-31,末位允许数字或 X。

该规则不验证校验位,也不判断地区码是否真实存在;严格场景应配合校验位算法。

正确示例

  • 11010119900307123X
  • 440301198512010011

错误示例

  • 110101199013071234
  • 11010119900307123
  • 11010119900307123Y

边界与注意事项

常见问题

Q:这条正则会校验身份证校验位吗?

不会。它只校验长度与出生日期结构。校验位需要按加权算法计算,正则无法完成。

Q:为什么 110101199013071234 不匹配?

月份 13 超出 01-12 的范围,因此不匹配。

Q:支持 15 位旧版身份证号吗?

不支持。15 位旧号结构与 18 位不同,需要单独规则。

Q:末位 X 大小写都可以吗?

可以。规则使用 [\dXx],大小写 X 都能匹配。

相关场景

手机号正则

匹配中国大陆 11 位手机号:首位为 1,第二位 3-9,其余 9 位为数字。

立即测试

邮箱正则

匹配常见邮箱:@ 前为字母数字与 . _ % + -,@ 后为域名,最后是至少 2 位字母的顶级域。

立即测试

URL 正则

匹配以 http:// 或 https:// 开头、含主机名与可选路径/查询的网址。

立即测试

IPv4 正则

匹配标准点分十进制 IPv4,每段取值 0-255。

立即测试

IPv6 正则

匹配完整写法(8 段十六进制)的 IPv6 地址。

立即测试

日期正则

匹配 YYYY-MM-DD 格式日期,月份 01-12、日 01-31。

立即测试

日期时间正则

匹配日期与时间组合,日期与时间之间用空格或 T 分隔,秒可省略。

立即测试

UUID 正则

匹配标准 8-4-4-4-12 分段的 UUID 字符串。

立即测试

中文正则

匹配常用汉字区间 U+4E00–U+9FA5 的中文字符。

立即测试

密码正则

8-20 位,且同时包含字母与数字,允许常见特殊符号。

立即测试

用户名正则

字母开头,总长 4-16 位,只含字母、数字与下划线。

立即测试