js校驗身份證

2021-08-30 17:14:16 字數 1635 閱讀 8835

//begin 校驗身份證

function checkidcard(formname,inputname,itemname)

var area=

//alert(area[parseint(idcard.substr(0,2))]);

var y,jym;

var s,m;

var idcard_array = new array();

idcard_array = idcard.split("");

//地區檢驗

if(area[parseint(idcard.substr(0,2))]==null)

//身份號碼位數及格式檢驗

switch(idcard.length)[0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]$/;//測試出生日期的合法性

} else [0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]$/;//測試出生日期的合法性

}if(ereg.test(idcard)) else

break;

case 18:

//18位身份號碼檢測

//出生日期的合法性檢查

//閏年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))

//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))

if(parseint(idcard.substr(6,4)) % 4 == 0 || (parseint(idcard.substr(6,4)) % 100 == 0 && parseint(idcard.substr(6,4))%4 == 0 ))19[0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9][0-9xx]$/;//閏年出生日期的合法性正規表示式

} else 19[0-9]((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9][0-9xx]$/;//平年出生日期的合法性正規表示式

}if(ereg.test(idcard)) else

} else

break;

default:

alert(errors[1]);

clearandfocus(formobj);

return false;

break;}}

JS 身份證校驗函式

function checkid iccid id iccid var id iccid,y,jym var s,m var id iccid array new array id iccid array id iccid.split 地區檢驗 if area parseint id iccid.s...

JS身份證的校驗

function iscardno idcard 0 d 1 0 2 0 1 2 d 3 0 1 d 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 var ...

身份證校驗

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...