
本文目录
中国公民身份号码即使有十八个字符,也可能包含不存在的日期或错误的校验位。即便这些检查全部通过,本地计算工具仍没有确认持有人身份。号码结构、历史地址信息与身份核验,应作为不同问题分别处理。
本文说明的是GB 11643-1999规定的十八位公民身份号码,也是ChinaClue身份证号码检查工具采用的格式。护照、其他旅行证件或历史十五位记录需要各自的处理方式,不应为了套入这一格式而随意补位。
按四段读取,保留原始记录
从左向右,号码依次包含六位地址码、八位出生日期码、三位顺序码和一位校验字符。出生日期按年月日排列,不加分隔符。前十七位为十进制数字,末位可以是数字或X;X表示校验值十,不是未知数字的占位符。
标准公布的教学示例为11010519491231002X,可拆为110105 | 19491231 | 002 | X,分别显示地址码、1949年12月31日、顺序码002及末位校验字符。它用于理解结构,不是可以填写进业务申请的个人资料。
顺序码在同一地址码区域内,为同年同月同日出生的人编定;奇偶值表示编码规则中的男性或女性分类。它不是年龄、家庭人数,也不能用来推断该地区住了多少人。解析字段是解释号码,不是授权对规则以外的信息作判断。

出生日期与末位字符分开检查
八位出生日期必须构成真实公历日期。月份13无效,二月的天数也并非每年相同。例如2000-02-29存在,因为2000能被400整除,而1900-02-29和2026-02-29不存在。工具还会拒绝晚于北京时间今天的出生日期。
校验位是对前十七位数字进行的另一项计算。虚构的错误日期字符串也可以配上数学上匹配的末位,反过来,看似合理的日期也不能挽救抄错的末位。应分别看每一项结果,不把某一项通过当作整个记录获得认可。
日期检查失败时,先比对原始证件再修改资料。日月颠倒、漏掉零、表格自动转换,会造成不同的问题。不要把其他国家的日期顺序套进中国身份号码,其内部日期顺序固定为年、月、日。
理解X校验字符
计算使用十七个固定权重,从左到右依次为7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2。前十七位逐位乘对应权重后求和,再用总和除以十一的余数选出末位字符。
标准示例的加权和为167,余数为2。余数0至10对应的校验字符依次为1, 0, X, 9, 8, 7, 6, 5, 4, 3, 2,所以余数2得到X。这也是为什么把X改成0、10或乘号,都会改变号码。
ChinaClue接受小写x,并在检查时规范全角输入,按其对应字符解析标识符。如果工具提示预期校验字符不同,应把它当作转录问题的线索,不要直接替换末位,因为错误可能在更前面的位置。
结合历史理解地址码
六位地址字段采用编码规则所指常住户口所在地的行政区划代码,不是邮政编码、街道地址或实时位置。持有人可能居住在别处,不能只凭号码推断现在住址或实际出生地点。
ChinaClue在1981—2025年的历史区划数据中查询该字段。最新年份不存在的代码,可能仍有历史记录。不要把身份号码中的已撤销区划代码改成现代承继代码,这会改变标识符及其校验位,而不是更新联系地址。
号码中的出生年份不能证明号码在哪一年编定,因此不能只根据生日选择区划代码年份。同样,固定数据集中的“未找到”是查询结果,不足以证明持有人或证件无效。应将这一发现与号码格式、算术校验分别记录。
表格处理与身份核验分别进行
导入表格前就将完整号码按文本保存。十八位数字放入数值单元格可能丢失精度,末位带X的记录与纯数字记录也可能被不同方式处理。数字已损坏后再改成文本,并不能恢复被改变的位数,必须回到原始证件或原始导出文件。
利用工具定位失败层次:字符格式、出生日期、顺序码格式、末位校验字符或历史地址查询。保留源值,只记录实际确认的修改。请别人排查格式问题时,可以提供脱敏示例,解释表格问题通常不需要完整身份号码。
全部通过,只表示所给文字与已检查的规则及可用查询资料一致,不证明号码已经签发、证件真实,也不证明出示者就是持有人。需要身份核验的业务仍应采用其获授权的核验流程。
评论
加载中…
暂无评论。