二代身份证号码编码规则
1.1 編碼格式
1999年我國(guó)頒發(fā)了第二代居民身份證號(hào),公民身份號(hào)碼為18位,且終身不變。
居民身份證格式如:ABCDEFYYYYMMDDXXXR
1.1.1地址碼(ABCDEF)
表示登記戶口時(shí)所在地的行政區(qū)劃代碼(省、市、縣),如果行政區(qū)劃進(jìn)行了重新劃分,同一個(gè)地方進(jìn)行戶口登記的可能存在地址碼不一致的情況。行政區(qū)劃代碼按GB/T2260的規(guī)定執(zhí)行。
1.1.2 出生日期碼(YYYYMMDD)
表示該居民的出生年月日,年4位數(shù)字,月和日分別用2位數(shù)字表示,如19491001,;出生日期碼是按GB/T 7408的規(guī)定執(zhí)行的。
1.1.3 順序碼(XXX)
表示同一地址碼區(qū)域內(nèi),同年、同月、同日生的人所編訂的順序號(hào),根據(jù)自己身份證的順序碼就可以知道:與我們同年同月同日生的同性至少有多少個(gè),且在我們之前登記戶籍的有多少人。身份證順序碼的奇數(shù)分配給男性,偶數(shù)分配給女性。這就是為什么倒數(shù)第二位奇數(shù)表示男生,偶數(shù)表示女生。
1.1.4 校驗(yàn)碼(R)
R之前的17位被稱為本體碼,R是根據(jù)本體碼,按照校驗(yàn)碼算法(ISO 7064:1983,MOD 11-2校)計(jì)算出來(lái)的。當(dāng)我們輸入身份號(hào)碼進(jìn)行實(shí)名認(rèn)證的時(shí)候,根據(jù)校驗(yàn)碼算法可以初步判斷你輸入身份證號(hào)碼格式是否正確。
1.2 校驗(yàn)碼
1、將前面的身份證號(hào)碼17位數(shù)分別乘以不同的系數(shù)。從第一位到第十七位的系數(shù)分別為:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 ;
| 位置序號(hào) | ? ?1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 加權(quán)因子 | 7 | 9 | 10 | 5 | 8 | 4 | 2 | 1 | 6 | 3 | 7 | 9 | 10 | 5 | 8 | 4 | 2 |
?
?
?
?
2、將這17位數(shù)字和系數(shù)相乘的結(jié)果相加;
3、用加出來(lái)和除以11,看余數(shù)是多少;
4、余數(shù)只可能有0 1 2 3 4 5 6 7 8 9 10這11個(gè)數(shù)字。其分別對(duì)應(yīng)的最后一位身份證的號(hào)碼為1 0 X 9 8 7 6 5 4 3 2;
| 余數(shù) | ? ? 0 | ? ?1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 校驗(yàn)碼 | ? ? 1 | 0 | X | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
?
?
?
?
5、通過(guò)上面得知如果余數(shù)是2,就會(huì)在身份證的第18位數(shù)字上出現(xiàn)羅馬數(shù)字的X。如果余數(shù)是10,身份證的最后一位號(hào)碼就是2;
例如:某男性的身份證號(hào)碼是34052419800101001X。我們要看看這個(gè)身份證是不是合法的身份證。
首先:我們計(jì)算3*7+4*9+0*10+5*5+...+1*2,前17位的乘積和是189
然后:用189除以11得出的結(jié)果是商17余2
最后:通過(guò)對(duì)應(yīng)規(guī)則就可以知道余數(shù)2對(duì)應(yīng)的數(shù)字是x。所以,這是一個(gè)合格的身份證號(hào)碼。
轉(zhuǎn)載于:https://www.cnblogs.com/toray-xiaopm/p/8436550.html
總結(jié)
以上是生活随笔為你收集整理的二代身份证号码编码规则的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ai109b_gm.dll下载 附丢失修
- 下一篇: html的em标签不用斜体,HTML元素