checkidcard:function(idcard)
varidcard, y, jym;
vars, 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
function checkidcardstrict idcard var idcard idcard.touppercase var y,jym var s,m var idcard array new array element val idcard idcard array idcard.sp...
js 身份證驗證
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...
身份證驗證
1 簡單的正規表示式 1 preg match d d dx id card 2 preg match d 18 19 20 d 01 d 0123 d d d x id card 3 preg match d d d x x id card 2 複雜並且嚴格一些的驗證 這個可以驗證15位和18位的...