public static boolean isidnumber(string idnumber)
// 定義判別使用者身份證號的正規表示式(15位或者18位,最後一位可以為字母)
string regularexpression = 「(^[1-9]\d(18|19|20)\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d[0-9xx])|
」+「(
[1−9
]\d5\d
2((0
[1−9
])|(
10|11|
12))(
([0−
2][1
−9])
|10|20
|30|31
)\d3 )|」
+「([
1−9]
\d5\d2
((0[
1−9]
)|(10
|11|12
))((
[0−2
][1−
9])|
10|20|
30|31)
\d3
)」;
//假設18位身份證號碼:41000119910101123x 410001 19910101 123x
//^開頭
//[1-9] 第一位1-9中的乙個 4
//\d 五位數字 10001(前六位省市縣地區)
//(18|19|20) 19(現階段可能取值範圍18xx-20xx年)
//\d 91(年份)
//((0[1-9])|(10|11|12)) 01(月份)
//(([0-2][1-9])|10|20|30|31)01(日期)
//\d 三位數字 123(第十七位奇數代表男,偶數代表女)
//[0-9xx] 0123456789xx其中的乙個 x(第十八位為校驗值)
//$結尾
//假設15位身份證號碼:410001910101123 410001 910101 123
//^開頭
//[1-9] 第一位1-9中的乙個 4
//\\d 五位數字 10001(前六位省市縣地區)
//\\d 91(年份)
//((0[1-9])|(10|11|12)) 01(月份)
//(([0-2][1-9])|10|20|30|31)01(日期)
//\\d 三位數字 123(第十五位奇數代表男,偶數代表女),15位身份證不含x
//$結尾
boolean matches = idnumber.matches(regularexpression);
//判斷第18位校驗值
if (matches) ;
//這是除以11後,可能產生的11位餘數對應的驗證碼
string idcardy = ;
int sum = 0;
for (int i = 0; i < idcardwi.length; i++)
char idcardlast = chararray[17];
int idcardmod = sum % 11;
if (idcardy[idcardmod].touppercase().equals(string.valueof(idcardlast).touppercase())) else
} catch (exception e) }}
return matches;
}
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 兩位順序碼 ...
Java 身份證號碼驗證
之前的身份證號碼只是做了一些簡單的數字 長度,生日等驗證 最近碰到乙個框架的身份證號碼驗證有些奇怪,在網上搜了一通,終於找到了規則,所以在這裡記錄一下,一遍以後再用,也分享給廣大開發者.驗證身份證號碼 param snumber 身份證號碼 public static boolean check s...
身份證號碼驗證
說明 驗證身份證的有效性 引數 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...