您的位置首页生活小窍门

身份证号码的规律

身份证号码的规律

根据最新修订的《中华人民共和国居民身份证法》第二十三条规定,依照《中华人民共和国居民身份证条例》领取的居民身份证,自2013年1月1日起停止使用。即一代身份证已于2013年1月1日起停止使用,本文内容适用于二代身份证,如无特殊宏氏说明,本文中所说的身份证皆指二代身份证。笔者目前使用的jdk版本是1.6.0_29,Eclipse版本是Juno Release,Build id 20120614-1722。如无特殊说明,本文所有的Java代码都是基于此。本文包含大量数学公式和Java代码,手机端浏览体验较差,可在手机端浏览文字性内容,数学公式和Java代码在PC端浏览,同时建议散绝镇准备好纸、笔用于数学公式的演算。具有一定数学基础的读者也可以忽略此条建议。本文中提供的Java代码都是笔者逐行编写、反复斟酌,以求能够抛砖引玉,使初学者可以孜孜不倦,在Java的学习道路上更进一层楼。本文内容,不足之处,欢迎大家批评指正。修订记录参考资料中华人民共和国居民身份证法中华人民共和国国家标准 GB/T 2260-2007 中华人民共和国行政区划代码中华人民共和国国家标准 GB 11643-1999 公民身份证号码中华人民共和国国家标准 GB/T 17710-1999 数据处理 校验码系统中华人民共和国国家标准 GB/T 17710-2008 信息技术 安全技术 校验字符系统ISO 7064:1983 Data processing - Check character systemsISO/IEC 7064:2003 Information technology - Security techniques - Check character systems身份证号码的编码规则身份证号码共18位,由17位本体码和1位校验码组成。前6位是地址码,表示登记户口时所在地的行政区划代码,依照《中华人民共和国行政区划代码》国家标准(GB/T2260)的规定执行;7到14位是出生年月日,采用YYYYMMDD格式;15到17位是顺序码,表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编订的顺序号,顺序码的奇数分配给男性,偶数分配给女性,即第17位奇数表示男性,偶数表示女性;第18位是校验码,采用ISO 7064:1983, MOD 11-2校验字符系统,计算规则下一章冲粗节说明。一代身份证与二代身份证的区别在于:一代身份证是15位,二代身份证是18位;一代身份证出生年月日采用YYMMDD格式,二代身份证出生年月日采用YYYYMMDD格式;一代身份证无校验码,二代身份证有校验码。校验码计算规则身份证号码中各个位置上的号码字符值应满足下列公式的校验:  表示号码字符从右至左包括校验码字符在内的位置序号; 表示第i位置上的号码字符值,  是身份证号码第18位校验码; i位置上的加权因子,加权因子计算公式: 举例说明:笔者身份证号码为