Java scripte 校驗身份證號碼的有效性

2021-07-10 05:30:25 字數 1378 閱讀 2200

返回值 <0 說明 身份證號不合法,返回1 說明正確

function validateidcard(idcard)

//15位和18位身份證號碼的正規表示式

var regidcard=/^(^[1-9]\d[1-9]\d((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d)|\d[xx])$)$/;

//如果通過該驗證,說明身份證格式正確,但準確性還需計算

if(regidcard.test(idcard))

//610427199002310018

var idcardmod=idcardwisum%11;//計算出校驗碼所在陣列的位置

var idcardlast=idcard.substring(17);//得到最後一位身份證號碼

//如果等於2,則說明校驗碼是10,身份證號碼最後一位應該是x

if(idcardmod==2)else

}elseelse

}} //end if(idcard.length==18)

//開始對生日進行校驗

var birthday = "";

if(idcard != null && idcard != "")

birthday = birthday.replace(/(.)(.)/,"$1-$2-");

} // 例項 425125198808083000

// 結果 1988-08-08

//計算間隔年份

var datebirthday= new date(birthday);

var month = datebirthday.getmonth()+1;

//驗證是否 為有效時間,比如 2月31等。

month = month < 10 ? "0" + month.tostring() : month;

var year =datebirthday.getfullyear();

var day =datebirthday.getdate();

day = day < 10 ? "0" + day.tostring() : day;

var turedatestr = year+ "-" + month + "-" + day;

if (turedatestr != birthday)

var yearspan = (new date() - datebirthday) / 1000 / 60 / 60 / 24 / 365;

if(yearspan<1||yearspan>120)

return 1;

}//end if(regidcard.test(idcard))

else

}

身份證校驗

int isright string card cout 9 wi sum 11 if p 17 x p 17 x 最後一位為 x 或 x else if id wi p 17 判斷計算出的身份證校驗碼與輸入是否相符 return error 判斷身份證號碼中的年月日是否正確 bool birthd...

簡易身份校驗機制

這個乙個簡易的介面使用者身份校驗機制 優點 1,用當前時間加鹽,防止重放攻擊 2,每次介面呼叫都可以知道是哪個使用者請求的 3,伺服器不用管理session 缺點 2,如果客戶端的時間有問題,或者與伺服器不在同乙個時區,將無法呼叫伺服器 獲取authorization引數的c 演算法 a,將使用者名...

身份證校驗

const regexutils else 手機號碼格式驗證 checkmobile mobile string boolean return regex.test mobile.trim else 郵箱格式驗證 checkemail email string boolean result rege...