1.身份證編排規則
(1)前1、2位數字表示:所在省份的代碼;
(2)第3、4位數字表示:所在城市的代碼;
(3)第5、6位數字表示:所在區縣的代碼;
(4)第7~14位數字表示:出生年、月、日;
(5)第15、16位數字表示:所在地的派出所的代碼;
(6)第17位數字表示性别:奇數表示男性,偶數表示女性;
公民身份号碼是特征組合碼,由十七位數字本體碼和一位校驗碼組成。排列順序從左至右依次為:六位數字位址碼,八位數字出生日期碼,三位數字順序碼和一位校驗碼。其含義如下:
1. 位址碼:表示編碼對象常住戶口所在縣(市、旗、區)的行政區劃代碼,按GB/T2260的規定執行。
2. 出生日期碼:表示編碼對象出生的年、月、日,按GB/T7408的規定執行,年、月、日分别用4位、2位、2位數字表示,之間不用分隔符。
3. 順序碼:表示在同一位址碼所辨別的區域範圍内,對同年、同月、同日出生的人編定的順序号,順序碼的奇數配置設定給男性,偶數配置設定給女性。
2.身份證第十八位數字的計算方法
校驗的計算方式:
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
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。是以,這是一個合格的身份證号碼。
參考資料:
https://zhidao.baidu.com/question/351008503.html
https://www.zhihu.com/question/19823489/answer/13074347