本资料从网上多处说明整理而来。如有错误请发邮件到:poolord@2ndhometown.net,谢谢。
  18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999《公民身份号码》中做了明确规定。
  GB11643-1999《公民身份号码》为GB11643-1989《社会保障号码》的修订版,其中指出将原标准名称“社会保障号码”更名为“公民身份号码”,另外GB11643-1999《公民身份号码》从实施之日起代替GB11643-1989。
  公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其含义如下:
  1. 地址码:表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。
  2. 出生日期码:表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日分别用4位、2位、2位数字表示,之间不用分隔符。
  3. 顺序码:表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
  校验的计算方式:
  1. 对前17位数字本体码加权求和
  公式为:S = Sum(Ai * Wi), i = 0, ... , 16
  其中Ai表示第i位置上的身份证号码数字值,Wi表示第i位置上的加权因子,其各位对应的值依次为: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
  2. 以11对计算结果取模
  Y = mod(S, 11)
  3. 根据模的值得到对应的校验码
  对应关系为:
   Y值: 0 1 2 3 4 5 6 7 8 9 10
  校验码: 1 0 X 9 8 7 6 5 4 3 2

15位的身份证号
 dddddd yymmdd xx p 
18位的身份证号 
 dddddd yyyymmdd xx p y 
  其中dddddd为地址码(省地县三级)18位中的和15位中的不完全相同 
  yyyymmdd yymmdd 为出生年月日 
  xx顺号类编码 
  p性别

18位公民身份证编码规则相关推荐

  1. 18位公民身份证号码的编排规则

    18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999<公民身份号码>中做了明确规定. GB11643-1999<公民身份号码>为GB11643 ...

  2. 公民身份证校验规则最新最全最严格(包含最后一位校验码校验)

    公民身份证校验规则最新最全最严格(包含最后一位校验码校验) 身份证号前两位为省级行政区划 11: "北京", 12: "天津" 13: "河北&quo ...

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

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

  4. 二代身份证编码规则及校验代码实现

    本文主要讨论的是二代身份证编码规则及其Java代码实现,下面的校验方式还不是特别严谨,由于只校验了前两位的省份信息,中间六位的出生日期信息和最后一位的校验码信息,故对于部分不满足要求的证件号码刚好同时 ...

  5. 输入一个18位的身份证号码,从中提取出生日期

    输入一个18位的身份证号码,从中提取出生日期,并以"出生日期是年月*日".样的格式输出 a=input("请输入18位身份证号码") n=a[6:10] m=a ...

  6. Java:15位或18位居民身份证号码通用校验(正则表达式、日期格式、末尾校验码)

    身份证号码校验,正则表达式校验.日期格式校验.18位身份证末尾校验码校验 前六位省市县号码变更频繁,这里就不做校验 import java.text.ParseException; import ja ...

  7. 中国公民身份证编号规则

    一.身份证号码执行标准: 18位身份证标准在国家质量技术监督局于1999年7月1日实施的GB11643-1999<公民身份号码>. GB11643-1999<公民身份号码>为G ...

  8. 验证(15位或者18位)身份证号码的正确正则表达式

    我们在开发页面的过程中难免会遇到一些表单验证,以下就对身份证号码进行验证,在开发过程中做的简单笔记: 身份证号码: 18位(xxxxxx yy MM dd xxxx) 15位(xxxxxx yy MM ...

  9. 15位和18位的身份证正则,以及通过身份证获取出生日期

    身份证号老版的是15位,新版的是18位(包括最后一位是X的校验) function isIDNumber(s) {return /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2 ...

最新文章

  1. eclipse怎么创建web项目html,eclipse入门之创建第一个web程序(jsp测试环境)
  2. activexobject对象不能创建_面向对象设计方法(Object oriented)
  3. JavaScript获取select下拉框中的第一个值
  4. CCTextureCache的多线程加载原理和使用
  5. 公司“凉凉”都怪大楼风水?望京SOHO诉自媒体案正式开庭
  6. Linux中b设备是什么,linux-将新设备添加到b??trfs卷中,但是可用...
  7. firefox扩展开发(八) :控件激活
  8. CUDA 9.0安装+CUDA版本转换 + cuDNN7.1安装
  9. 耳机电声测试仪软件,杭州爱华 AWA6128D双耳机测试仪
  10. 数据仓库与数据挖掘实践期末复习总结
  11. 利用grub引导多系统debian8.0+win7+ubuntu16.04
  12. 最近工作中遇到的某些技术问题
  13. Arthas Spring Boot Starter工程启动报错
  14. linux notepadqq不支持中文输入的原因分析
  15. ps意外崩溃_最新—Mac软件意外退出/移到废纸篓的解决方案,亲测有效
  16. 短信生成器部分思路----Android
  17. 萌新 学习python 途中一点疑惑记录IndexError: string index out of range
  18. java中文乱码的原因及解决方法
  19. 厨神之路四--面食类
  20. JAVA毕设项目网上拍卖系统(java+VUE+Mybatis+Maven+Mysql)

热门文章

  1. 「元」时代潮流启幕 树图生态淘派参展上海时装周回顾
  2. 无需越狱,Android通话记录、通讯录、短信同步到iphone6
  3. ijkplayer 源码分析(1):初始化流程
  4. 取消html里字体自带的行间距
  5. 抖音直播间没流量怎么办 如何提高人气?
  6. uniapp(微信小程序)使用ucharts环状图文字重叠
  7. 英伟达单日涨出一个AMD、两个英特尔,市值冲向万亿美元!
  8. win10开始菜单和cortana无法工作怎么办 win10关键错误解决方法
  9. 百度地图API自定义点路书,路书点击事件,路书速度动态改变
  10. 记录一次美团+小米+VIPKId+CVTE的Java后台开发面试经历