2019独角兽企业重金招聘Python工程师标准>>>

居民身份证是国家法定的证明公民个人身份的证件。为了堵塞和制止假居民身份证的流通和使用,在查验和核查居民身份证时可掌握以下几个要点:

  一、居民身份证有效期限与持证人年龄、签发日期的关系

  居民身份证的有效期限分为10年、20年、长期三种。16周岁至25周岁的,发给有效期为10年的居民身份证;26周岁至45周岁的,发给有效期为20年的居民身份证;46周岁以上的,发给长期有效的居民身份证。证件有效期限从签发之日起计算。如某人1949年9月20日出生,1984年35周岁时申领居民身份证,签发日期为1984年12月31日,他属于26至45周岁这一年龄段,证件有效期限属于20年这一档次,到2004年12月30日有效期满。
  查验或检查时,应对照检查证件有效期限与持证人年龄,签发日期三者之间的关系。

  二、居民身份证编号识别

  1、身份证编码规则如下:根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
  地址码(身份证前六位)表示编码对象第一次申领居民身份证时的常住户口所在县(市、旗、区)的行政区划代码。
  生日期码(身份证第七位到第十四位)表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。例如:1981年05月11日就用19810511表示。
  顺序码(身份证第十五位到十七位)是县、区级政府所辖派出所的分配码,每个派出所分配码为10个连续号码,例如“000-009”或“060-069”,其中单数为男性分配码,双数为女性分配码,如遇同年同月同日有两人以上时顺延第二、第三、第四、第五个分配码。如:007的就是个男生,而且和他同年月日生的男生至少有两个,他们的后四位是001*和003*。分配顺序码中“999、998、997、996”四个顺序号分别为男女性百岁以上老人专用的特定编号。
  校验码(身份证最后一位)是根据前面十七位数字码,按照ISO7064:1983.MOD11-2校验码计算出来的检验码。
  2、从1999年10月1日起,全国实行公民身份证号码制度,居民身份证编号由原15位升至18位。前6位为地址码;第七位至14位为出生日期码,此码由6位数改为8位数,其中年份用4位数表示;第15位至17位为顺序码,取消了顺序码中对百岁老人使用的特定编号;第十八位为校验码,主要是为了校验计算机输入公民身份证号码的前17位数字是否正确,其取值范围是0至10,当值等于10时,用罗马数字符χ表示。

  三、身份证第18位(校验码)的计算方法

  1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
  2、将这17位数字和系数相乘的结果相加。
  3、用加出来和除以11,看余数是多少?
  4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X-9-8-7-6-5-4-3-2。
  5、通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。

  例如:某男性的身份证号码是34052419800101001X。我们要看看这个身份证是不是合法的身份证

  首先我们得出前17位的乘积和是189,然后用189除以11得出的结果是17+2/11,也就是说其余数是2。最后通过对应规则就可以知道余数2对应的数字是x。所以,可以判定这是一个合格的身份证号码。

转载于:https://my.oschina.net/u/2324376/blog/1922303

居民身份证号码的奥秘及身份证第18位(校验码)的计算方法相关推荐

  1. Java身份证号码严格验证(第18位校验码算法实现)

    /*** 身份证号码的格式:610821-20061222-612-X 由18位数字组成:前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,* 第18位为校验码.检验码分别是0-10共 ...

  2. 请写代码校验第二代身份证号码有效性。程序接收一个18位的身份证号码和性别,根据以下规则输出号码是有效还是无效。

    请写代码校验第二代身份证号码有效性.程序接收一个18位的身份证号码和性别,根据以下规则输出号码是有效还是无效. 第二代身份证号组成规则: a) 身份证号码(18位)= 地址码(6)+ 出生日期码(8) ...

  3. 18位身份证号码最后一位校验码的计算方法

    介绍18位身份证号码最后一位校验码的计算方法 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. ...

  4. 【SQLServer】验证身份证号第18位校验码是否合法

    目录 1.业务场景 2.知识前提 3.实现方案 4.测试 5.参考链接 1.业务场景 参考国家标准GB 11643-1999,居民身份证号组成:6位数字地址码+8位数字出生日期码+3位数字顺序码+1位 ...

  5. Python计算身份证第18位(校验码)来判断身份证是否输入正确

    Python计算身份证第18位(校验码)来判断身份证是否输入正确 前言 身份证编码规则如下:根据[中华人民共和国国家标准GB11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由 ...

  6. JAVA代码实现身份证18位校验码合法性校验

    身份证第18位(校验码)的计算方法 1.将前面的身份证号码17位数分别乘以不同的系数.从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2. 2.将这 ...

  7. 标准的身份证验证(第18位校验码)

    不学无术 原本以为身份证就判断位数 年月 var cardNo = Id_card; if(Id_card.length == 18){ Id_card = Id_card.split(''); // ...

  8. python定义公民类、变量有身份证号_Python趣解身份证号码的奥秘!

    原标题:Python趣解身份证号码的奥秘! 问题描述 作为一个公民,每个人都有一张独一无二的身份证,有独一无二的身份证号码.在这里面几乎储存了我们所有的行踪与信息,所以有很多不法分子能够仅通过身份证号 ...

  9. python身份证的秘密_Python|趣解身份证号码的奥秘

    问题描述 作为一个公民,每个人都有一张独一无二的身份证,有独一无二的身份证号码.在这里面几乎储存了我们所有的行踪与信息,所以有很多不法分子能够仅通过身份证号码进行一些犯罪活动.然而在生活中其实很容易泄 ...

最新文章

  1. 因需设岗,竞争上岗的多Agent协作的协作模式
  2. c# point偏移_GMap.NET开发技巧(四)-GPS百度地图坐标偏移及地图加偏和逆向纠偏解决方法和代码...
  3. 李宏毅线性代数笔记8 :坐标系变换8
  4. 百度超级链XChain(7)数据模型
  5. 用ASM编写一个简单的Windows Shellcode思路总结
  6. 获取一组radio按钮选中的值Value
  7. 文件路径最好使用正斜杠,使用反斜杠可能在unix系统中访问不到文件
  8. 一个方法多个return_用这个方法可以快速、准确地记住一个单词的多个词义
  9. Memcache安全性
  10. 在Web.Config中如何引入相对目录下的Access文件
  11. 大数据可视化大屏图表设计经验,教给你
  12. BootstrapTable的使用教程
  13. 水泥路面、桥梁基建、隧道裂痕裂缝检测数据集
  14. python选题背景_选题背景和意义
  15. STM32开发(14)----CubeMX配置ADC
  16. 仿真通过AXI_lite接口读写寄存器时axi_awready信号无法拉高的一种原因
  17. Java锁的种类以及辨析(四):可重入锁
  18. 计算机技术实训的内容,计算机专业生产实习目的及内容
  19. 自动驾驶(三十二)---------车辆行人识别
  20. java 定时器 倒计时_定时器倒计时demo

热门文章

  1. webpack入门--前端必备
  2. Jenkins+Maven+SVN快速搭建持续集成环境
  3. 深入了解MyBatis返回值
  4. Java程序员从笨鸟到菜鸟之(八十四)深入浅出Ajax
  5. 高等数学:第十一章 无穷级数(3)正弦级数、余弦级数、周期为2L的周期函数的傅里叶级数
  6. 编程之美-数组循环移位
  7. JAVAspringboot微服务b2b Spring MVC+mybatis+spring cloud+spring boot+spring security
  8. 解决计算机问题的一般步骤
  9. Svg 嵌入可编辑的div
  10. 重新学.Net[四]——效率和安全