二代身份證號碼校驗方法

2021-07-04 09:01:02 字數 888 閱讀 4237

/**

* city:

* 二代身份證校驗 18位 日期2023年以後

* @param idcard

* @return

true校驗通過

*/public

static boolean validateidcarddate(string idcard) (((19|2\\d)\\d(0[13-9]|1[012])(0[1-9]|[12]\\d|30))|((19|2\\d)\\d(0[13578]|1[02])31)|((19|2\\d)\\d02(0[1-9]|1\\d|2[0-8]))|((19|2\\d)([13579][26]|[2468][048]|0[48])0229))\\d(\\d|x|x)?$");

matcher matcher = p.matcher(idcard);

if(!matcher.matches())

//校驗碼計算 網上找的計算方式

int tmp=0;

int s=0;

int y=0;

string thelastcode=idcard.substring(17);

string checkcode=;

int wi=;

for(int i=0;i<17;i++)

y=s%11;

if(!checkcode[y].equals(thelastcode.tolowercase()))

//日期小於今天

string datestr = idcard.substring(6, 14);

try catch(exception e)

return

true;

}

身份證規則改變之前,應該都是通用的

身份證號碼校驗

中國居民身份證號碼編碼規則 中國居民身份證校驗碼演算法 都包含 author liuwei date 2020 11 19 身份證校驗工具 public class idnumutil 定義判別使用者身份證號的正規表示式 15位或者18位,最後一位可以為字母 string regularexpres...

Oracle 身份證號碼校驗

今天來了身份證校驗的需求,想在oracle中校驗後將錯誤資料查詢出來。於是我在網上查到了身份證校驗的oracle函式。但是發現一些正確的身份證號也未校驗通過!後來經過千辛萬苦的努力終於發現了,網上給的函式中判斷是否是閏年的 substrb 函式應該從第7為開始擷取,而不是第6位!還有要注意最後一位校...

JS校驗身份證號碼

function isidcardno num d 0 9 x test num 驗證前2位,城市符合 var acity if acity parseint num.substr 0,2 null alert 城市 acity parseint num.substr 0,2 下面分別分析出生日期和...