介紹
****** 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...