前言:
一代身份证与二代身份证的区别
一代身份证是15位,二代身份证是18位;
一代身份证出生年月日采用YYMMDD格式,二代身份证出生年月日采用YYYYMMDD格式;
一代身份证无校验码,二代身份证有校验码。
二代身份证号码的编码规则
身份证号码前六位:表示编码对象常住户口所在县(市、镇、区)的行政区划代码。1-2位省、自治区、直辖市代码; 3-4位地级市、盟、自治州代码; 5-6位县、县级市、区代码;
身份证号码第七位到第十四位:表示编码对象出生的年、月、日,其中年份用四位数字表示年、月、日之间不用分隔符,采用YYYYMMDD格式;
身份证号码第十五位到十七位:地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分配给男性,偶数分配给女性,即第17位奇数表示男性,偶数表示女性;
身份证号码最后一位:根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,X是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准;
二代身份证校验规则(最后一位校验码的计算方法)
首先将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2
接下来将这17位数字和系数相乘的结果相加,然后用加出来和除以11,看余数,余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-0-X -9-8-7-6-5-4-3-2
代码:
1 | /** |