<html>
<head>
<meta http-equiv="content-type" content="text/htmlcharset=gbk" />
</head>
<body>
<script type="text/javascript">
//--身份证号码验证-支持新的带x身份证
function isIdCardNo(num)
{
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1)
var error
var varArray = new Array()
var intValue
var lngProduct = 0
var intCheckDigit
var intStrLen = num.length
var idNumber = num
// initialize
if ((intStrLen != 15) && (intStrLen != 18)) {
//error = "输入身份证号码长度不对!"
//alert(error)
//frmAddUser.txtIDCard.focus()
return false
}
// check and set value
for(i=0i<intStrLeni++) {
varArray[i] = idNumber.charAt(i)
if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
//error = "错误的身份证号码!."
//alert(error)
//frmAddUser.txtIDCard.focus()
return false
} else if (i < 17) {
varArray[i] = varArray[i]*factorArr[i]
}
}
if (intStrLen == 18) {
//check date
var date8 = idNumber.substring(6,14)
if (checkDate(date8) == false) {
//error = "身份证中日期信息不正确!."
//alert(error)
return false
}
// calculate the sum of the products
for(i=0i<17i++) {
lngProduct = lngProduct + varArray[i]
}
// calculate the check digit
intCheckDigit = 12 - lngProduct % 11
switch (intCheckDigit) {
case 10:
intCheckDigit = 'X'
break
case 11:
intCheckDigit = 0
break
case 12:
intCheckDigit = 1
break
}
// check last digit
if (varArray[17].toUpperCase() != intCheckDigit) {
//error = "身份证效验位错误!...正确为: " + intCheckDigit + "."
//alert(error)
return false
}
}
else{ //length is 15
//check date
var date6 = idNumber.substring(6,12)
if (checkDate(date6) == false) {
//alert("身份证日期信息有误!.")
return false
}
}
//alert ("Correct.")
return true
}
function checkDate(date)
{
return true
}
function check()
{
idnum = document.getElementById('idcard').value
alert(isIdCardNo(idnum))
}
</script>
<form id="form1" name="form1" method="post" action="">
<table align="center" width="60%" border="0">
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td width="40%" valign="top"><div align="right">用户注册</div></td>
<td width="11%" valign="top"> </td>
<td width="49%" valign="top"><a href="#">管理员登录</a></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="3"><table width="100%" border="0">
<tr>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
<tr>
<td valign="top"><div align="right">姓 名:</div></td>
<td valign="top"><label>
<input type="text" name="textfield" />
</label></td>
</tr>
<tr >
<td width="421" valign="top"> </td>
<td width="561" valign="top"> </td>
</tr>
<tr>
<td valign="top"><div align="right">证件号码:
</div></td>
<td valign="top"><input type="text" name="idcard" id="idcard"/>
<label>
<input type="submit" name="Submit3" value="验证" onClick="check()"/>
</label></td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
<tr>
<td valign="top"><div align="right">电话号码:</div></td>
<td valign="top"><input type="text" name="textfield22" /></td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
<tr>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
<tr>
<td valign="top">
<div align="right">
<input type="submit" name="Submit" value="提交" />
</div></td>
<td valign="top"><label>
<input type="reset" name="Submit2" value="重置" />
</label></td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>
var s="11111111111111x"if (s.length==18){
if (s.substring(17).toUpperCase()=="X"){
if (isNaN(s.substr(0,17))){
alert("不是身份证号码")
}
else{
alert("是身份证号码")
}
}
else{
if (isNaN(s)){
alert("不是身份证号码")
}
else{
alert("是身份证号码")
}
}
}
else if(s.length==15 && !isNaN(s)){
alert("是身份证号码")
}
else{
alert("不是身份证号码")
}