居民身份证号码的奥秘及身份证第18位(校验码)的计算方法
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
居民身份證是國家法定的證明公民個人身份的證件。為了堵塞和制止假居民身份證的流通和使用,在查驗和核查居民身份證時可掌握以下幾個要點:
一、居民身份證有效期限與持證人年齡、簽發(fā)日期的關系
居民身份證的有效期限分為10年、20年、長期三種。16周歲至25周歲的,發(fā)給有效期為10年的居民身份證;26周歲至45周歲的,發(fā)給有效期為20年的居民身份證;46周歲以上的,發(fā)給長期有效的居民身份證。證件有效期限從簽發(fā)之日起計算。如某人1949年9月20日出生,1984年35周歲時申領居民身份證,簽發(fā)日期為1984年12月31日,他屬于26至45周歲這一年齡段,證件有效期限屬于20年這一檔次,到2004年12月30日有效期滿。
查驗或檢查時,應對照檢查證件有效期限與持證人年齡,簽發(fā)日期三者之間的關系。
二、居民身份證編號識別
1、身份證編碼規(guī)則如下:根據〖中華人民共和國國家標準GB11643-1999〗中有關公民身份號碼的規(guī)定,公民身份號碼是特征組合碼,由十七位數(shù)字本體碼和一位數(shù)字校驗碼組成。排列順序從左至右依次為:六位數(shù)字地址碼,八位數(shù)字出生日期碼,三位數(shù)字順序碼和一位數(shù)字校驗碼。
地址碼(身份證前六位)表示編碼對象第一次申領居民身份證時的常住戶口所在縣(市、旗、區(qū))的行政區(qū)劃代碼。
生日期碼(身份證第七位到第十四位)表示編碼對象出生的年、月、日,其中年份用四位數(shù)字表示,年、月、日之間不用分隔符。例如:1981年05月11日就用19810511表示。
順序碼(身份證第十五位到十七位)是縣、區(qū)級政府所轄派出所的分配碼,每個派出所分配碼為10個連續(xù)號碼,例如“000-009”或“060-069”,其中單數(shù)為男性分配碼,雙數(shù)為女性分配碼,如遇同年同月同日有兩人以上時順延第二、第三、第四、第五個分配碼。如:007的就是個男生,而且和他同年月日生的男生至少有兩個,他們的后四位是001*和003*。分配順序碼中“999、998、997、996”四個順序號分別為男女性百歲以上老人專用的特定編號。
校驗碼(身份證最后一位)是根據前面十七位數(shù)字碼,按照ISO7064:1983.MOD11-2校驗碼計算出來的檢驗碼。
2、從1999年10月1日起,全國實行公民身份證號碼制度,居民身份證編號由原15位升至18位。前6位為地址碼;第七位至14位為出生日期碼,此碼由6位數(shù)改為8位數(shù),其中年份用4位數(shù)表示;第15位至17位為順序碼,取消了順序碼中對百歲老人使用的特定編號;第十八位為校驗碼,主要是為了校驗計算機輸入公民身份證號碼的前17位數(shù)字是否正確,其取值范圍是0至10,當值等于10時,用羅馬數(shù)字符χ表示。
三、身份證第18位(校驗碼)的計算方法
1、將前面的身份證號碼17位數(shù)分別乘以不同的系數(shù)。從第一位到第十七位的系數(shù)分別為:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。
2、將這17位數(shù)字和系數(shù)相乘的結果相加。
3、用加出來和除以11,看余數(shù)是多少?
4、余數(shù)只可能有0-1-2-3-4-5-6-7-8-9-10這11個數(shù)字。其分別對應的最后一位身份證的號碼為1-0-X-9-8-7-6-5-4-3-2。
5、通過上面得知如果余數(shù)是2,就會在身份證的第18位數(shù)字上出現(xiàn)羅馬數(shù)字的Ⅹ。如果余數(shù)是10,身份證的最后一位號碼就是2。
例如:某男性的身份證號碼是34052419800101001X。我們要看看這個身份證是不是合法的身份證。
首先我們得出前17位的乘積和是189,然后用189除以11得出的結果是17+2/11,也就是說其余數(shù)是2。最后通過對應規(guī)則就可以知道余數(shù)2對應的數(shù)字是x。所以,可以判定這是一個合格的身份證號碼。
轉載于:https://my.oschina.net/u/2324376/blog/1922303
總結
以上是生活随笔為你收集整理的居民身份证号码的奥秘及身份证第18位(校验码)的计算方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一键部署区块链环境 阿里云发布企业级Ba
- 下一篇: [Java基础]判断字符串指定字符类型