身份證號的檢測

2021-06-22 21:09:32 字數 850 閱讀 7413

ddddddyyyymmddxxsp共18位

公民身份號碼是特徵組合碼,由十七位數字本體碼和一位校驗碼組成。排列順序從左至右依次為:六位數字位址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。

2.位址碼 

表示編碼物件常住戶口所在縣(市、旗、區)的行政區劃**,按gb/t2260的規定執行。 

3.出生日期碼 

表示編碼物件出生的年、月、日,按gb/t7408的規定執行,年、月、日**之間不用分隔符。 

4.順序碼 

表示在同一位址碼所標識的區域範圍內,對同年、同月、同日出生的人編定的順序號,順序碼的奇數分配給男性,偶數分配給女性。 

5.校驗碼

根據前面十七位數字碼,按照iso 7064:1983.mod 11-2校驗碼計算出來的檢驗碼

身份證號的檢測演算法:

一,檢測地區碼是否合法,二,檢測出生日期是否正確,三,檢測校對碼是否正確(校對碼的檢測,前17位加權取和後取模)。

int weight[17] = ;//第一位到第十七位身份證權值表

int checkcode[11] = ;// 模以11得到的結果下標對應其檢驗碼表

//檢查出生日期是否正確~

bool detectbirthdate(int id)

; if (year < 1900 || year > 2014 || month > 13 || day > daynum[month-1])

{ islegal = false;

cout<<"year or month or day error"<28 && month == 2)

{ islegal = false;

cout<<"day error"<

身份證號檢測工具

身份證號知識大講堂 1.現在的身份證號都是18位的,每一位都有自己所代表的含義,具體如下 1 前1 2位數字表示 所在省份的 2 第3 4位數字表示 所在城市的 3 第5 6位數字表示 所在區縣的 4 第7 14位數字表示 出生年 月 日 5 第15 16位數字表示 順序碼,表示在同一位址碼所標識的...

身份證號驗證

原文 身份證號驗證 public static boolean isidnumber string idnumber 定義判別使用者身份證號的正規表示式 15位或者18位,最後一位可以為字母 string regularexpression 1 9 d 18 19 20 d 0 1 9 10 11 ...

身份證號驗證

身份證號組成 17位數字 1位校驗碼 位址碼 前六位 出生日期碼 第七位至第十位 順序碼 第十五位至十七位 對同年同月同日生的人便定的順序號,順序號奇數為男生,偶數為女生 檢驗碼 第十八位 0 9 x var acity function iscarid sid d x i.test sid ret...