身份证校验码是什么?它指18位身份证号码的第18位,由前17位数字按“ISO 7064:1983 MOD 11-2”规则计算得出,作用是在录入或读取时快速查出误输入。因为英文大写字母“X”在某些浏览器/系统里会被误填成小写 x,所以很多人会问“最后一位X到底是数字还是字母”——它其实是罗马数字 10。下面先把18位号码拆开看。
一、18位身份证号码是怎么组成的?
按照《公民身份号码》国家标准 GB 11643-1999,18位号码是“特征组合码”,由十七位数字本体码 + 一位校验码组成,从左到右依次是:6位地址码、8位出生日期码、3位顺序码、1位校验码。以样例 110101199001010015 为例:
字段位数含义样例取值
地址码前6位常住户口所在地行政区划代码(省/市/县)110101(北京市东城区)
出生日期码7—14位出生年月日,格式YYYYMMDD19900101(1990-01-01)
顺序码15—17位同地址同年月日出生者的顺序号001
校验码第18位前17位加权计算得出(0—9或X)5
其中前6位地址码并不是“身份证号前6位是出生地”这种笼统说法,而是精确到区县一级,均可在国家统计局公布的《县及县以上行政区划代码》里查到,例如北京市朝阳区是110105、安徽省马鞍山市和县是340524。地址码、出生日期码都好懂,最容易让人迷糊的是顺序码里的性别判断,以及最后一位校验码到底怎么算、为什么有人尾巴带X。
二、第17位怎么分男女?顺序码的含义
第15—17位顺序码用于区分“同一地址码、同一年月日出生”的人,其中第17位按国标约定:奇数分配给男性,偶数分配给女性。所以在不知道本人性别的情况下,只看第17位的奇偶就能判断。例如样例110101199001010015的第17位是1(奇数),对应男性;若改成偶数如2,则是女性。
三、最后一位校验码怎么计算?ISO 7064 五步法
校验码按国际标准 ISO 7064:1983 的 MOD 11-2 算法计算,共五步:第一步取出前17位;第二步把每一位依次乘以下面的加权因子7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2;第三步把17个乘积相加;第四步用总和除以11取余数;第五步按对照表把余数换成校验码:
余数r012345678910
校验码10X98765432
注意:只有当余数为2时,校验码才是X。这也是为什么结尾是X的人都说自己“身份证带X”——X就是数字10。
四、校验码计算示例(可复算)
用上面五步拆解样例 110101199001010015 的前17位,逐位相乘再求和:
位数字加权因子乘积位数字加权因子乘积
117710030
219911070
3010012199
4155130100
508014155
614415080
712216040
891917122
99654合计加权总和S=106106
加权总和 S=106,106÷11=9余7,查对照表余数7→校验码5,所以完整号码是 110101199001010015,与第18位一致即自洽。再看一个公开案例:34052419800101001X,其前17位加权和为189,189÷11=17余2,对照表余数2→X,正好落在结尾。这套算法把“第18位”和“前17位”绑定起来:只要把号码抄错任何一位数字,加权总和与第18位往往就对不上,从而快速提醒你重新核对,而非拿着错号一路用下去。
🪪 打开5iTool身份证校验器,输入号码立即验证格式与校验位是否一致
常见问题
Q:身份证最后一位的X代表什么?怎么读?
A:X不是任意字母,而是依ISO 7064算出的校验码10(罗马数字),说明该号码运算后余数为2。可以读“艾克斯”,也可以说“结尾是数字10”。
Q:用校验码能判断身份证号真假吗?
A:不能证明证件真假。校验码只能查出“格式是否自洽、有没有打错字”;号码本身合法≠证件真实有效,涉及身份核验请走公安/政务官方渠道,不要只凭一个号码下结论。
Q:15位老身份证号怎么变成18位?
A:15位=6位地址码+6位出生日期(YYMMDD,省略“19”)+3位顺序码。转18位时在出生年后补19(或20),再按本文第三步算出第18位校验码即可。
Q:输错一位一定能被校验码发现吗?
A:绝大多数误输入都能被查出,但存在极小概率不同错误得到相同的自洽结果,因此校验通过只能说明号码自洽,不等于绝对正确。拿不准就重新对照原件。