| 028 的个人资料昕中的世界照片日志列表 | 帮助 |
|
|
2005/11/4 大陆身份证验证规则 大陆的身份证为18位,老的身份证是15位。
关于身份证第18是怎么计算的,原理如下:根据〖中华人民共和国国家标准 GB 11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
①地址码(身份证前六位)表示编码对象常住户口所在县(市、旗、区)的行政区划代码。(所有区域的编码可以到这个网站http://www.stats.gov.cn/tjbz/index.htm查询到最新的县及县以上的行政编码资料。)
②生日期码(身份证第七位到第十四位)表示编码对象出生的年、月、日,其中年份用四位数字表示,年、月、日之间不用分隔符。例如:1981年05月11日就用19810511表示。
③顺序码(身份证第十五位到十七位)为同一地址码所标识的区域范围内,对同年、月、日出生的人员编定的顺序号。其中第十七位奇数分给男性,偶数分给女性。
校验码(身份证最后一位)是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
第十八位数字的计算方法为:
1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
2.将这17位数字和系数相乘的结果相加。
3.用加出来和除以11,看余数是多少?
4.余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2。
5.通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。
例如:某男性的身份证号码是34052419800101001X。我们要看看这个身份证是不是合法的身份证。
首先:我们得出,前17位的乘积和是189
然后:用189除以11得出的结果是17 + 2/11,也就是说余数是2。
最后:通过对应规则就可以知道余数2对应的数字是x。所以,这是一个合格的身份证号码。
备注说明:关于大陆身份证有的人会发现前几位为什么变化了。这主要出现在中国的重庆。原有的重庆人的身份证多数以51开头。以前隶属于四川的原因。但新办的身份证可能是50开头,原因是行政区划改变所致。中国各地的行政区划代码请参考国家统计局网。http://www.stats.gov.cn/tjbz/index.htm 香港身份證驗證規則 香港身份證信息,沒有性別信息,沒有地域信息。不過,還是有一個完整的驗證規則。
身份證字號的樣式為XYabcdef(z),其中X可以是英文數字或是空白不填,而Y一定是英文字母,z是檢核碼為0~10的數字(當z為10的時候,則以A表示),要驗算是否為正確之身份證號碼時,第一個英文字若為空白則以58代替,若是英文字則依A=10,B=11,C=12,D=13…的順序繼續下去,第二個英文字作法亦同,然後依照以下規則算出數字後,再加上檢核碼一定會是11的倍數~ 例如:A123456(3)→58 10 123456
=58×9+10×8+1×7+2×6+3×5+4×4+5×3+6×2
=522+80+7+12+15+16+15+12
=679
679+3=682=11×62 是11的倍數,因此它是一個正確的身份證字號。
又例如:AB654321(□) □是多少呢?
AB654321(□)→10 11 654321
=10×9+11×8+6×7+5×6+4×5+3×4+2×3+1×2
=90+88+42+30+20+12+6+2
=290
∵290÷11=26…3
∴□=3 2005/11/3 台湾身份证的验证规则 台湾身份证总共有10位数字。第一位是字母。后面九位是数字。
台湾省份证的第一位的字母代表地区分别以A——Z表示,规则如下:(地区后面的数字为该字母转换的数字码) A台北市10 B台中市11 C基隆市12
D台南市13
E高雄市14
F台北县15
G宜兰县16 H桃园县17 I嘉义市34 J新竹县18 K苗栗县19 L台中县20 M南投县21 N彰化县22 O新竹市35 P云林县23 Q嘉义县24 R台南县25 S高雄县26 T屏东县27 U花莲县28 V台东县29 W金门县30 X澎湖县31 Y阳明山32 Z连江县33 第二位数字代表性别,男性是1,女性是2 例如:台北市的男性身份证号码就应该是A1开头 第三位到第九位为任意的一串数字。 第十位为验证码。验证码的计算规则为: 字母(ABCDEFGHJKLMNPQRSTUVXYWZIO)对应一组数(10——35)。 令其十位数为X1,个位数为X2;D2到D9分别代表身份证号码的第二至第九位数。 Y=X1+9×X2+8×D2+7×D3+6×D4+5×D5+4×D6+3×D7+2×D8+1×D9 将Y的值除以10。得出的余数结果。再用10来减去这个余数结果。就得出身份证上的最后一位数字。 例如R123456783,R=25, 检查公式是: 2+5×9+1×8+2×7+3×6+4×5+5×4+6×3+7×2+8×1=167
用167除以10求余数结果,其余数结果的个位数为7。 用10减去7得3(检查码)。 |
|
|