<html>
<script language="javascript">
function isIdCardNo(num)
{
if (isNaN(num)) {alert("输入的不是数字!");
return false;
} var len = num.length, re; if (len == 15) re = new RegExp(/^(/d{6})()?(/d{2})(/d{2})(/d{2})(/d{3})$/); else if (len == 18) re = new RegExp(/^(/d{6})()?(/d{4})(/d{2})(/d{2})(/d{3})(/d)$/); else {alert("输入的数字位数不对!"); return false;} var a = num.match(re); if (a != null) { if (len==15) { var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]); var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } else { var D = new Date(a[3]+"/"+a[4]+"/"+a[5]); var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;} } alert("输入的身份证号码合法"); return true; } </script> <input type=text name="idcard"> <input type=button onclick="isIdCardNo(document.all.idcard.value)" value="Check"> </html>
本文提供了一个JavaScript函数用于验证中国身份证号码的有效性。该函数通过正则表达式检查身份证号的长度和格式,并验证生日部分是否为有效日期。
862

被折叠的 条评论
为什么被折叠?



