<SCRIPT Language="JavaScript">
function checkIDCard (str) 

var isIDCard1 = new Object();
var isIDCard2 = new Object();

//身份证正则表达式(15位) 
isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/

//身份证正则表达式(18位) 

isIDCard2
=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[A-Z])$/

//验证身份证,如果正确,提交到reg.asp页面
if (isIDCard1.test(str)||isIDCard2.test(str))
{    
document.forms[
"form1"].action = "./reg.asp";
document.forms[
0].submit();
return true;
}

alert(
"请重新输入正确的身份证码!");
return false;

}
  
</SCRIPT>
<Form name="form1" method=post onSubmit="return checkIDCard(this.User_iden.value)">
    
<input name="User_iden" id="User_iden" size="18">
    
<input type="submit" name="testcall" value="验证身份证号码">
</Form>