java驗證身份證號碼

2021-08-08 03:15:49 字數 1327 閱讀 9254

介紹

****** 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

兩位順序碼:\d

校驗碼:[0-9xx]

正規表示式

十八位:^[1-9]\\d(18|19|([23]\\d))\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d[0-9xx]$

十五位:^[1-9]\\d\\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d$

總:

(^[1-9]\\d(18|19|([23]\\d))\\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d[0-9xx]$)|(^[1-9]\\d\\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d$)

// 定義判別使用者身份證號的正規表示式(要麼是18位,要麼是15位,最後一位可以為字母)

pattern idnumpattern = pattern

.compile("(^[1-9]\\d(18|19|([23]\\d))\\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d[0-9xx]$)|(^[1-9]\\d\\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d$)");

// 通過pattern獲得matcher

matcher idnummatcher = idnumpattern.matcher(bookingcontact.getidcard());

// 判斷使用者輸入是否為身份證號

if (idnummatcher.matches()) else{

system.out.println (「請輸入正確的身份證號碼」);

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...

驗證身份證號碼

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