js身份證精確認證

2022-06-10 22:58:02 字數 1584 閱讀 3570

function checkidcard(idcard) 

var idcard, y, jym;

var s, m;

var idcard_array = new array();

idcard_array = idcard.split("");

//地區檢驗

if (area[parseint(idcard.substr(0, 2))] == null) return errors[4];

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

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)) return errors[0];

else return errors[2];

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 return errors[2];

break;

default:

return errors[1];

break;

}}

js校驗身份證

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

PHP 精確驗證身份證號

check class check 是數值 if is numeric num else elseelse 省市縣 6位 areanum substr num,0,6 出生年月 8位 datenum substr num,6,8 性別 3位 num substr num,14,3 校驗碼 1位 en...

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