| 中国大陆第二代公民身份证一共 18 位,根据《中华人民共和国国家标准 GB 11643-1999》中关于公民身份号码的规定:公民身份号码是特征组合码,由 17 位数字本体码和 1 位校验码组成。 从左至右依次为: 6 位地址码:表示所在省(直辖市、自治区)、市、县的代码;8 位出生日期码:表示公民的出生年(4 位)、月(2 位)、日(2 位);3 位数字顺序码:表示同一出生地的顺序码,其中,奇数表示男性,偶数表示女性;1 位数字校验码:根据前面 17 位数字生成的校验码(按照 ISO 7064:1983.MOD 11-2 计算得来)。
 下图清楚地展示了中国大陆第二代身份证号码的编码规则 ▼ 
   下面将详细介绍第二代公民身份证的编码规则,按居民出生所在地(地址码)、出生日期、顺序码和校验码分别进行说明。 第 1-6 位:所在地第 1 至 6 位为地址码,表示这个人常住户口所在县(市、区)的行政区划代码。 其中,前 2 位代表具体省(直辖市,自治区,特别行政区),代码如下: 11-15:京津冀晋蒙21-23:辽吉黑31-37:沪苏浙皖闽赣鲁41-46:豫鄂湘粤桂琼50-54:渝川贵云藏61-65:陕甘青宁新
 第 3、4 位是城市代码,第 5、6 位是区、县代码。身份证号码上的所在地就由这 6 位代码表示。 第 7-14 位:出生日期第 7 至 14 位是出生日期码,表示该公民的出生年、月、日,一共 8 位。其中,年份是 4 位,月份和日期是 2 位(不足两位前面加 0)。如:19970430,表示 1997 年 4 月 30 日出生。
 第 15-17 位:顺序码第 15 至 17 位是顺序码。顺序码是指在同一地区内,对同年、同月、同日出生的人编定的顺序号,一共 3 位数字。其中,奇数分配给男性,偶数分配给女性。
 第 18 位:校验位身份证号码的最后一位,是校验位。校验位基于前面 17 位数字,根据规定的计算规则而来。 校验码的计算方式如下: 对前 17 位数字,每位数字分别乘以一个对应的因数,然后再对这些乘积求和,得到一个值 A。本步骤所用的因数是一个由 17 位数字组成的固定序列,分别是:7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2。也就是说,把前面得到的那 17 个数字,第 1 个数乘以 7;第 2 个数乘以 9;第 3 个数乘以 10 ……依次类推。例如,某身份证号码前 17 位是 43050220040304292,则根据算法要求,计算公式为:A = 4 * 7 + 3 * 9 + 0 * 10 + 5 * 5 + ... + 2 * 2把第 1 步得到的和除以 11,然后获取其余数。例如,上面例子中的 17 位身份证号码和因数相乘之后,计算出来的和是 207 ,再计算 207 / 11的余数,得到 9。根据第 2 步得到的余数,对照下面的校验码表,得到对应的校验码(其中 X 代表罗马数字中的 10)。
 
 | 余数 | 校验码 | 
|---|
 | 0 | 1 |  | 1 | 0 |  | 2 | X |  | 3 | 9 |  | 4 | 8 |  | 5 | 7 |  | 6 | 6 |  | 7 | 5 |  | 8 | 4 |  | 9 | 3 |  | 10 | 2 | 
 根据以上对照表可知,余数为9时,对应的校验码为3,因此居民的公民身份号码应为430502200403042923。
 |