Python校验身份证号码有效性

Python校验身份证号码有效性

15位身份证号,构成如下

  • 1~6位:地址码,采用的是行政区划代码
  • 7~12位:出生日期码。构成为yymmdd,如921010
  • 13~15位:顺序码。每个地区出生人口按顺序递增,最后一位奇数分给男的,偶数分给女的。

18位身份证号,进行调整 如下

  • 出生日期码变为8位,构成为yyyymmdd。,如19921010
  • 增加第18位为校验码,校验码是根据前面十七位数字码,按照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,得到余数。
  • 根据余数的结果Y,取对应的值,作为校验码
Python校验身份证号码有效性

余数与校验码映射关系

python源码

Python校验身份证号码有效性


分享到:


相關文章: