/**
* 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 下面分別分析出生日期和...