标题:中华人民共和国行政区划及公民身份证编码规则[仅供参考]
只看楼主
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
结帖率:86.67%
 问题点数:0 回复次数:11 
中华人民共和国行政区划及公民身份证编码规则[仅供参考]
程序代码:
一、中华人民共和国行政区划编码规则
代码从左至右的含义是:
第一、二位表示省(自治区、直辖市、特别行政区)。
第三、四位表示市(地区、自治州、盟及国家直辖市所属市辖区和县的汇总码)。其中,01-2051-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]、西藏自治区(546-西北地区(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为校验码。
搜索更多相关主题的帖子: 市辖区 省直辖 行政区划 中华 
2012-09-26 21:17
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:680
专家分:1287
注 册:2009-3-1
得分:0 
学习,收下了
2012-09-26 21:25
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
得分:0 
灰常好啊 谢谢S版提供的信息。。。

梅尚程荀
马谭杨奚







                                                       
2012-09-26 21:37
爱西比西
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-9-30
得分:0 
谢谢了!
2012-10-02 20:51
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
以下是引用有容就大在2012-9-26 21:37:23的发言:

灰常好啊 谢谢S版提供的信息。。。
唐长老莫非是广东人

活到老,学到老! http://www. E-mail:hu-jj@
2012-10-03 08:48
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
得分:0 
回复 5楼 hu9jj
hu9jj 老师不放假

个性太多,无法显示
2012-10-03 09:06
xtxzgl
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2012-8-22
得分:0 
不错,正我想要的、

活到老学到老
2012-10-07 22:25
zhuhuiling
Rank: 2
等 级:论坛游民
帖 子:7
专家分:28
注 册:2010-6-28
得分:0 
正需要,谢谢了!
2012-10-11 18:56
ycvf
Rank: 2
等 级:论坛游民
帖 子:209
专家分:56
注 册:2012-8-25
得分:0 
2. 以11对计算结果取模
  Y = mod(S, 11)
楼主,请举个简单点的应用例子。谢谢

落花人独立,微雨燕双飞。
2012-10-11 21:44
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
以下是引用ycvf在2012-10-11 21:44:48的发言:

2. 以11对计算结果取模
  Y = mod(S, 11)
楼主,请举个简单点的应用例子。谢谢
身份证号=[130105197806235619]
AB=7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
用身份证号码的前17位的每一位数字乘以AB中的对应位置的数字,然后将它们相加后取和值:
S=1*7+3*9+0*10+1*5+......+3*5+5*8+6*4+1*2=189 &&这里是假设最后的值为189,没进行计算。
MOD(189,11)=2
     Y值: 0 1 2 3 4 5 6 7 8 9 10
  校验码: 1 0 X 9 8 7 6 5 4 3 2
根据Y值与校验码比对,Y值2对应的校验码为X,最后的第18位校验码应该为X,因此身份证号码的第18位校验码[9]是错误的,正确的校验码应该是[X]

坚守VFP最后的阵地
2012-10-11 22:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382165-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.522307 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved