js 十分精確身份證驗證

2022-03-21 21:18:05 字數 1845 閱讀 8440

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