中华人民共和国行政区划及公民身份证编码规则[仅供参考]
程序代码:
一、中华人民共和国行政区划编码规则 代码从左至右的含义是: 第一、二位表示省(自治区、直辖市、特别行政区)。 第三、四位表示市(地区、自治州、盟及国家直辖市所属市辖区和县的汇总码)。其中,01-20,51-70表示省直辖市;21-50表示地区(自治州、盟);90表示省直辖县级行政区划。 第五、六位表示县(市辖区、县级市、旗)。01-20表示市辖区或地区(自治州、盟、省)辖县级市;21-80表示县(旗);81-99表示市辖县级市。 除港澳台外,共有六个行政区 1-华北地区(5):北京市[11]、天津市[12]、河北省[13]、山西省[14]、内蒙古自治区[15] 2-东北地区(3):辽宁省[21]、吉林省[22]、黑龙江省[23] 3-华东地区(7):上海市[31]、江苏省[32]、浙江省[33]、安徽省[34]、福建省[35]、江西省[36]、山东省[37] 4-中南地区(6):河南省[41]、湖北省[42]、湖南省[43]、广东省[44]、广西壮族自治区[45]、海南省[46] 5-西南地区(5):重庆市[50]、四川省[51]、贵州省[52]、云南省[53]、西藏自治区(54) 6-西北地区(5):陕西省[61]、甘肃省[62]、青海省[63]、宁夏回族自治区[64]、新疆维吾尔自治区[65] 综上撰述:直辖市[4]、自治区[5]、省[22] 共31个。 注:[]内数字为直辖市、自治区、省的代码 *----------------------------------------------------------------------------------- 二、18位公民身份证编码规则 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 18位中末尾的Y为校验码。 -------------------------------------------------------- 18位身份证号码各位的含义: 1-2位:省、自治区、直辖市代码。以江苏省为例:32表示江苏省(与上面的1-6代表全国行政区域划分有关哦^_^) 。 3-4位:地级市、盟、自治州代码。如:01代表南京市,05代表苏州市。 5-6位:县、县级市、区代码。如:02代表玄武区,11代表浦口区。 7-14位:出生年月日,比如19670401代表1967年4月1日; 15-17位:顺序号,其中17位男为单数,女为双数。 18位:校验码,0-9和X。作为尾号的校验码,是由号码编制单位按统一的公式计算出来的。 举例: 130503 19670401 0016这个身份证号的含义: 13为河北省,05为邢台市,03为桥西区,出生日期为1967年4月1日,顺序号为001,6为校验码。