js判斷身份證號是否正確

2021-07-15 15:05:53 字數 1575 閱讀 3333

js判斷身份證號是否正確(包括15位,和18位身份證號碼驗證)

/***身份證號碼驗證start**/

// 加權因子

var wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];

// 身份證驗證位值.10代表x

var validecode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];

function idcardvalidate(idcard) else if (idcard.length == 18) else

} else

}

/**判斷身份證號碼為18位時最後的驗證位是否正確**/

function istruevalidatecodeby18idcard(a_idcard)

for ( var i = 0; i < 17; i=i+1)

valcodeposition = sum % 11; // 得到驗證碼所位置

if (a_idcard[17] == validecode[valcodeposition]) else

} /***驗證18位數身份證號碼中的生日是否是有效生日**/

function isvaliditybrithby18idcard(idcard18)else

}/***驗證15位數身份證號碼中的生日是否是有效生日**/

function isvaliditybrithby15idcard(idcard15)$/ig);

if (carr == null)

var year = idcard15.substring(6,8);

var month = idcard15.substring(8,10);

var day = idcard15.substring(10,12);

var temp_date = new date(year,parsefloat(month)-1,parsefloat(day));

// 對於老身份證中的你年齡則不需考慮千年蟲問題而使用getyear()方法

if(temp_date.getyear()!=parsefloat(year)

||temp_date.getmonth()!=parsefloat(month)-1

||temp_date.getdate()!=parsefloat(day))else

}/***身份證號碼驗證 end**/

if(!idcardvalidate(cardid))

將15位身份證號碼轉成18位

function upcardid15(cardid15)

r = n % 11;

t = vs.charat(r);

cardid18 = cardid17 + t;

return cardid18;

}

js檢查身份證號是否正確

轉的,比較完善的驗證身份證號的 1 2 check id 驗證身份證號碼 3返回值 0 是正確的身份證號 41 身份證校驗不符合求和模11 1這個等式 52 身份證最後一位校驗位有誤 63 身份證位數不正確 74 年份錯誤 85 月份錯誤 96 日錯誤 1011 12 13function chec...

js判斷身份證號

var vcity 身份證號合法性驗證 支援15位和18位身份證號 支援位址編碼 出生日期 校驗位驗證 identitycodevalid function card 校驗長度,型別 if this.iscardno card false 檢查省份 if this.checkprovince car...

js驗證身份證號是否合法

function idcardcheck num d 0 9 x test num 校驗位按照iso 7064 1983.mod 11 2的規定生成,x可以認為是數字10。下面分別分析出生日期和校驗位 var len,re len num.length if len 15 d d d d var a...