全球旧事资料 分类
18位身份证号码校验位规则200901111533根据〖中华人民共和国国家标准GB116431999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。r
r
地址码表示编码对象常住户口所在县市、旗、区的行政区划代码。生日期码表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。顺序码表示同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。顺序码的奇数分给男性,偶数分给女性。校验码是根据前面十七位数字码,按照ISO70641983MOD112校验码计算出来的检验码。下面举例说明该计算方法。r
r
15位的身份证编码首先把出生年扩展为4位,简单的就是增加一个19,但是这对于1900年出生的人不使用(这样的寿星不多了)r
r
某男性公民身份号码本体码为34052419800101001,首先按照公式⑴计算:r
r
∑ai×Wimod11……………………………………1r
r
公式1中:r
r
i表示号码字符从右至左包括校验码在内的位置序号;r
r
ai表示第i位置上的号码字符值;r
r
Wi示第i位置上的加权因子,其数值依据公式Wi2(
1)mod11计算得出。r
r
i181716151413121110987654321r
r
ai34052419800101001a1r
r
Wi79105842163791058421r
r
ai×Wi21360251616294800905002a1r
r
根据公式1进行计算:r
r
∑ai×Wi(21360251616294800905002189r
r
189÷1117211r
r
∑ai×Wimod112r
r
然后根据计算的结果,从下面的表中查出相应的校验码,其中X表示计算结果为10:r
r
∑ai×WImod11012345678910r
r
校验码字符值ai10X98765432r
r
根据上表,查出计算结果为2的校验码为所以该人员的公民身份号码应该为340524。r
一个校验身份证号码合法的C程序2008年03月25日星期二下午0505摘自MyZo
e,未亲自验证!r
i
cludestdiohr
i
cludestri
ghr
i
cludemathhr
i
cludetimehr
r
i
tIsDigitBufcharsBufi
t
Le
r
r
i
tir
r
if
Le
0retur
1r
if
Le
strle
sBuf
Le
strle
sBufr
r
fori0i
Le
ir
ifisdigitsBufiretur
0r
r
retur
1r
r
r
i
tcheckdatei
tiYeari
tiMo
thi
tiDayr
r
ifiYear0iYear9999r
retur
1r
switchiMo
thr
r
case1r
case3r
case5r
case7r
case8r
case10r
case12r
ifiDay0iDay31r
r
retur
3r
r
breakr
case4r
case6r
case9r
r
好听全球资料 返回顶部