身份证号码校验算法(附Python代码)

1、数字含义

    中国大陆第二代身份证号码由18位数据或字母组成,每位数据都有特定的含义,结果如下:

 每组数字都有不同的含义:

    1) 第1至2位数字代表所在省(直辖市、自治区)的代码;

    2) 第3至4位数字代表所在地级市(自治州)的代码;

    3) 第5至6位数字代表所在区(县、自治县、县级市)的代码;

    4) 第7-14位数字代表出生年、月、日;

    5) 第15-16位数字代表所在的派出所代码;

    6) 第17位数字表示性别,奇数表示男性,偶数表示女性;

    7) 第18位是校验码,及个人信息码,由前17位数字计算得到。

    也就是说身份证号码不是随便产生的,它是用来检验身份的正确性。在没有全国个人身份证信息库时。可以通过检验码来校验身份证的正确性。校验码由0-9的数据和字母X组成,其实X表示10(这并不是英文字母X,而是希腊数字10的缩写)。是由号码编制单位按统一的计算公式计算出来的,校验身份证号码正确性也是通过这个公式实现。

 

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值