Java 身份證號碼驗證

2021-09-01 22:05:25 字數 2207 閱讀 8029

之前的身份證號碼只是做了一些簡單的數字、長度,生日等驗證

最近碰到乙個框架的身份證號碼驗證有些奇怪,在網上搜了一通,終於找到了規則,

所以在這裡記錄一下,一遍以後再用,也分享給廣大開發者.

/**

* 驗證身份證號碼

* * @param *****snumber

* 身份證號碼

*/public static boolean check*****snumber(string *****snumber) else if (*****snumber.length() < 15)

string dt = *****snumber.substring(6, 14);

if (!checkdate(dt, "yyyymmdd"))

// 18位身份證號碼驗證

if (*****snumber.length() == 18)

a = integer.parseint(*****snumber.substring(0, 1)) * 7

+ integer.parseint(*****snumber.substring(1, 2)) * 9

+ integer.parseint(*****snumber.substring(2, 3)) * 10;

a = a + integer.parseint(*****snumber.substring(3, 4)) * 5

+ integer.parseint(*****snumber.substring(4, 5)) * 8

+ integer.parseint(*****snumber.substring(5, 6)) * 4;

a = a + integer.parseint(*****snumber.substring(6, 7)) * 2

+ integer.parseint(*****snumber.substring(7, 8)) * 1

+ integer.parseint(*****snumber.substring(8, 9)) * 6;

a = a + integer.parseint(*****snumber.substring(9, 10)) * 3

+ integer.parseint(*****snumber.substring(10, 11)) * 7

+ integer.parseint(*****snumber.substring(11, 12)) * 9;

a = a + integer.parseint(*****snumber.substring(12, 13)) * 10

+ integer.parseint(*****snumber.substring(13, 14)) * 5

+ integer.parseint(*****snumber.substring(14, 15)) * 8;

a = a + integer.parseint(*****snumber.substring(15, 16)) * 4

+ integer.parseint(*****snumber.substring(16, 17)) * 2;

b = a % 11;

if (b == 2) // 最後一位為校驗位

else

string jym = "10x98765432";

string m = jym.substring(b, b + 1);

if ("x".equals(m))

} else

}} else

} return true;

} /**

* 檢測日期格式

* * @param date

* 待檢測日期

* @param format

* 格式字串

* @return

*/public static boolean checkdate(string date, string format) catch (parseexception e)

return true;

} /**

* 驗證數字格式

* * @param num

* @return

*/public static boolean checknumber(string num)

return false;

}

java驗證身份證號碼

介紹 yyyy mm dd 375 0 十八位 yy mm dd 75 0 十五位 地區 1 9 d 年的前兩位 18 19 23 d 1800 2399 年的後兩位 d 月份 0 1 9 10 11 12 天數 0 2 1 9 10 20 30 31 閏年不能禁止29 三位順序碼 d 兩位順序碼 ...

身份證號碼驗證

說明 驗證身份證的有效性 引數 cid 身份證號碼 返回 地方 出生時間 性別 private string checkcidinfo string cid if cid.length 18 char c cid cid.length 1 bool last false if c 0 c 9 c a...

驗證身份證號碼

好久沒更新了,今天簽到啦。感覺這個驗證挺重要的,也挺常用的,所以分享給需要的朋友。驗證身份證號碼,在網上找到的好東東 function checkidcard idcard var idcard,y,jym var s,m var idcard array new array idcard arra...