身份證號檢測工具

2021-07-27 09:25:10 字數 1887 閱讀 7206

身份證號知識大講堂:

1.現在的身份證號都是18位的,每一位都有自己所代表的含義,具體如下:

1)前1、2位數字表示:所在省份的**;

2)第3、4位數字表示:所在城市的**;

3)第5、6位數字表示:所在區縣的**;

4)第7~14位數字表示:出生年、月、日;

5)第15、16位數字表示:順序碼,表示在同一位址碼所標識的區域範圍內,對同年、月、日出生的人員編定的順序號;

6)第17位數字表示性別:奇數表示男性,偶數表示女性;

7)第18位數字是校檢碼:也有的說是個人資訊碼,一般是隨計算機的隨機產生,用來檢驗身份證的正確性。校檢碼可以是0~9的數字,有時也用x表示。

2.關於最後一位校驗碼的計算方法如下:

1)將身份證前17位數字,分別乘於7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2並相加,得到total;

2)將total模11,得到餘數m;

3)在陣列array(1,0,x,9,8,7,6,5,4,3,2)中,用餘數m作為下標取得對應的數字n;

3.身份證的安全問題也需要大家重視,不要隨意地洩露自己的關鍵資訊,尤其是自己的身份證號,被不法份子利用後,將會給自己帶來不必要的麻煩(千萬要注意這一點,技術可以不學,安全不容忽視)。

好啦,分析就這麼多,上**:

/**

*@function 判斷身份證號最後一位的校驗碼是否合法

*@return boolean [true|false]

* */

public

boolean

iscardid()

int weight_total = 0;//累加計算後的權重總和

char id_char_array = this.getcardidchararray(1, 17);//將身份證號轉換為字元陣列

if(this.id != null && !("".equals(this.id)) && this.id.length() == 18)

weight_total += integer.parseint(string.valueof(id_char_array[i])) * cardidutil.weight[i];

}int check_code_answer = weight_total % 11;//將累加計算後的權重總和和11進行取模運算

if(string.valueof(this.getcardidchararray(18, 18)).touppercase().equals(string.valueof(cardidutil.checkcode[check_code_answer])))

}return

false;

}/**

*@function 獲取省份證號指定位置的字元陣列

*@param start 指定位置的開始

*@param end 指定位置的結尾

*@return char

* */

public

char getcardidchararray(int start, int end)

if(start <= 0 || end > 18)

string id_char_array = "";

char temp = this.id.tochararray();

for(int i = start - 1; i <= end - 1; i++)

return id_char_array.tochararray();

}

本次學習尚未掌握的知識(繼續挖坑):

1)大檔案讀取的速度問題需要優化,好像可以將大檔案分成若干個小檔案,然後利用多執行緒讀取,來提高查詢速度,以後來試試。

身份證號的檢測

ddddddyyyymmddxxsp共18位 公民身份號碼是特徵組合碼,由十七位數字本體碼和一位校驗碼組成。排列順序從左至右依次為 六位數字位址碼,八位數字出生日期碼,三位數字順序碼和一位數字校驗碼。2 位址碼 表示編碼物件常住戶口所在縣 市 旗 區 的行政區劃 按gb t2260的規定執行。3 出...

身份證號驗證

原文 身份證號驗證 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...