跳到主要内容

免费中国身份证号码校验器(身份证号码校验)

检查中国居民身份证号码的格式和校验码,并读取其中包含的出生日期、性别和省份。可把旧的 15 位号码升级为 18 位,也可校验台湾和香港的身份证号码。支持单个号码或整份列表。

粘贴中国身份证号码或整份列表,检查其格式和校验码,并读取其中包含的出生日期、性别和省份。

校验通过只表示号码格式正确,并不表示它已被签发或属于某个人。只有签发机关才能确认这一点。

🔒 在此浏览器中检查。号码绝不会被发送、保存,也不会出现在页面地址中。

工作原理

每一行都会先被清理(去掉空格、连字符和全角字符),再根据形态识别为大陆、台湾或香港号码,并按该号码公布的校验码规则进行检查。出生日期、性别和地区则从号码中的固定位置读取。

  1. 1
    粘贴号码
    输入一个身份证号码,或从电子表格中粘贴整列,每行一个。
  2. 2
    查看结果
    查看每个号码是否有效;如果无效,会说明原因:校验码输错、日期不可能存在或省份未知。
  3. 3
    升级旧号码
    15 位号码会同时显示其 18 位形式,可直接复制。
  4. 4
    导出列表
    有多个号码时,点击“下载 CSV”,即可在 Excel 中打开结果。

在您的浏览器中检查。号码绝不会被发送、保存,也不会出现在页面地址中。

指南

操作示例

粘贴 11010519491231002X,这是页面示例所用的号码。工具显示“格式和校验码有效”,类型“大陆居民身份证(18 位)”,省份“北京市”,出生日期 1949-12-31(并根据你设备的日期推算出年龄),性别“女”。校验字符由前 17 位数字得出:每位数字乘以一个固定的权重,乘积相加得 167,167 除以 11 的余数是 2,对应 X。把最后一个字符改为 1,结果就变成“校验码不匹配”,并附有“至少有一个字符有误,或有两个字符顺序颠倒。请再对照证件核对一遍。”粘贴旧的 15 位号码 110105491231002,类型显示“大陆居民身份证(旧版 15 位)”,并给出“18 位号码”11010519491231002X 和一个“复制”按钮。“尝试示例”会载入四行(上面这两个,加上台湾号码 A123456789 和香港号码 A123456(3)),并显示“4 个中 4 个有效”。

使用哪些设置,以及限制

  • 了解“通过”意味着什么。 通过表示号码的格式正确:长度和字符正确,出生日期真实存在(不早于 1900 年,也不晚于你设备上的今天),省份代码已知,校验字符正确。这并不表示该号码已被签发或属于某个人,这一点只有签发机关才能确认。页面只根据前两位数字读取省份,不读取城市或县,因为县的代码会变化,而旧证件保留的是它签发时的代码。
  • 也可用于其他类型的证件。 除了 18 位的大陆身份证,它还能读取旧的 15 位证件、港澳居民居住证和台湾居民居住证(号码以 81、82 或 83 开头,例如显示为“港澳居民居住证(香港居民)”)、外国人永久居留身份证(以 9 开头,省份从第 2、3 位读取)、台湾身份证号码(一个字母,然后是 9 位数字,其第一位数字为 1、2、8 或 9),以及香港身份证(一个或两个字母、六位数字和一位为 0 到 9 或 A 的校验码)。结果行会显示类型,对于台湾号码还会显示首次登记地。
  • 无论怎样书写,照样输入即可。 空格、短横线、点和下划线会被移除,全角数字和字母会被转换,小写的 x 会变成 X。香港号码可以带括号或不带括号输入,如 A123456(3) 或 A1234563,结果会显示带括号的形式。其他标点(例如“ID:”中的冒号)不会被移除,并会得到“无法识别的身份证号码格式”。
  • 一次检查整整一列。 每行粘贴一个号码。空行会被跳过,最多检查 2,000 行。有两行或更多行时,你会得到类似“4 个中 3 个有效”的汇总,以及显示前 500 行的表格。“下载 CSV”会保存每个已检查的行,列为身份证号码、类型、结果、出生日期、性别、省份或地区和 18 位号码。每个号码前都写有一个制表符,这样 Excel 会保留全部 18 个字符,而不是显示成 1.10105E+17。
  • 截图之前先隐藏数字。 勾选“在屏幕和 CSV 中隐藏中间的数字”后,只显示前 4 位和后 4 位字符,所以一个 18 位号码显示为 1101、十个星号,然后是 002X。表格、单个结果、升位后的 18 位号码和 CSV 都使用遮盖后的形式。升位后的 18 位号码旁边的“复制”按钮仍然复制完整号码。
  • 不查询,也不保存任何内容。 检查只是在你的浏览器中完成的普通算术,页面上写着“在此浏览器中检查。号码绝不会被发送、保存,也不会出现在页面地址中。”因此没有分享链接,也不对照任何数据库查询。示例是标准中的示例号码,而不是某个真实的人的号码。出生日期旁边的年龄使用的是你设备上的日期。

常见问题及解决方法

提示“无法识别的身份证号码格式”。
该文本不属于工具认识的任何一种形式。大陆号码有 18 位字符(17 位数字加一位数字或 X),旧证件则是 15 位数字。台湾号码是一个字母加 9 位数字;香港号码是 1 或 2 个字母、6 位数字,再加一位校验码或 A。请先数一数字符数,因为漏掉或重复一位数字是最常见的原因。粘贴进来的“ID:”之类的标签、一行里有两个号码,或者两个字母加 8 位数字的台湾式号码,也会落到这里,第二个字符不是 1、2、8 或 9 的台湾号码也是如此。
提示“校验码不匹配”。
号码的形式正确,但最后的校验字符与其他数字不符。工具给出的建议是:至少有一个字符有误,或有两个字符顺序颠倒,所以请再对照证件核对。对于大陆号码,页面仍会显示它读取到的省份、出生日期和性别,这有助于你发现输错的地方。它不会给出修正后的号码。
提示“出生日期不可能存在”。
18 位号码的第 7 到 14 位必须是一个真实存在的日历日期,不早于 1900 年,也不晚于你设备上的今天。15 位号码的日期以 YYMMDD 的形式放在第 7 到 12 位,工具会把年份读作 19YY。13 月、30 天的月份里的 31 日,以及非闰年的 2 月 29 日都不通过,所以该部分的某个数字很可能有误。如果你设备的时钟不对,较近的出生日期可能被标记为在未来。
提示“省份代码未知”。
前两位数字不是工具认识的省份代码:11 到 15、21 到 23、31 到 37、41 到 46、50 到 54、61 到 65,或者 71、81、82 和 83。这项检查先于出生日期和校验码执行,所以如果号码开头输错了,这就是你最先看到的问题。对于以 9 开头的外国人永久居留证,代码则改从第 2、3 位读取。
把号码粘贴进电子表格后,显示 1.10105E+17,或者丢掉了最后的 X。
电子表格可能会把 18 位号码当作数值来读取并加以改变。请使用“下载 CSV”,其中每个号码都以制表符开头,因此会以文本形式打开;或者在粘贴之前先把该列设置为文本格式。CSV 是带字节顺序标记的 UTF-8,因此中文省份名称能正确显示。

对比分析

它做的事情和表单验证器用一个模式和一个简短公式所做的一样:检查长度、字符、省份、出生日期和校验码,同时还会读出省份、出生日期和性别,并支持旧的 15 位证件、台湾号码和香港号码。它无法告诉你一张证件是否已签发、是否真实、是否仍然有效,或是否属于眼前这个人,因为这需要签发机关。它不查询县,所以也不会说出签发城市。请用它在提交之前发现列表中的输入错误,而不要把它当作身份证明。

相关工具

常见问题