身分證號校驗器
身分證號校驗器是一個可以用來驗證身分證號碼是否有效的驗證工具。
特點
1. 支援批次輸入驗證
2. 支援從資料庫讀取驗證
3. 支援SQL SERVER
4. 支持ORACLE
身分證號碼的結構
根據〖中華人民共和國國家標準GB 11643-1999〗中有關公民身份號碼的規定,公民身份號碼是由十七位數字本體碼和一位數字校驗碼組成。排列順序由左至右依序為:
1. 六位數字位址碼: 表示省(自治區、直轄市、特別行政區)、市(地級市、自治州、盟及國家直轄市所屬市轄區及縣的總碼)、縣(市轄區、縣級市、旗)。
* 第一、二位表示省(自治區、直轄市、特別行政區)。
* 第三、四位表示市(地級市、自治州、盟及國家直轄市所屬市轄區及縣的總碼)。其中,01-20,51-70表示省直轄市;21-50表示地區(自治州、盟)。
* 第五、六位表示縣(市轄區、縣級市、旗幟)。 01-18表示市轄區或地區(自治州、盟)轄縣級市;21-80表示縣(旗);81-99表示省直轄縣級市。
2. 八位數字出生日期碼: 表示出生年月日(單數字月日左側用0補齊)。其中年份以四位數字表示,年、月、日之間不用分隔符號。
3. 三位數字順序碼: 表示同地區、同年、月、日出生的人員編定的順序號。
4. 一位數字校驗碼: 作為尾號的校驗碼,是由號碼編制單位按統一的公式計算出來的,校驗碼如果出現數字10,就用X來代替。
校驗碼演算法
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。
例如:
如果餘數是3,第18位的校驗碼就是9。如果餘數是2那麼對應的校驗碼就是X,X實際上是羅馬數字10。
下一步
Downcodes小編會繼續探索更多關於身分證號校驗器的知識,並分享給您!