js身份证验证怎么做

<formid="form1"name="form1"method="post"action=""><tablealign="center"width="60%"bord... <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" />
<label>
<input type="submit" name="Submit3" value="验证" />
</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>
请在上面HTML代码里面帮我写一个JS的身份证验证的脚本,谢谢大家
展开
 我来答
梦见钞
2014-02-21 · TA获得超过708个赞
知道大有可为答主
回答量:1584
采纳率:50%
帮助的人:1621万
展开全部
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=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=0;i<intStrLen;i++) { 
        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=0;i<17;i++) { 
            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>
堵寄灵kO
2015-11-09 · TA获得超过2370个赞
知道小有建树答主
回答量:588
采纳率:100%
帮助的人:470万
展开全部
  • js身份证验证

function isCardNo(card)  
{     
    // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是    校验位,可能为数字或字符X     
    var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;     
    if(reg.test(card) === false)     
    {   
        alert("身份证输入不合法"); 
        return  false;   
    } 
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huibo865686
2014-02-21 · TA获得超过916个赞
知道小有建树答主
回答量:325
采纳率:80%
帮助的人:263万
展开全部
//身份证正则表达式(15位)
var isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
//身份证正则表达式(18位)
var isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
var isIDCard3=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}x$/;

function isIDCard(str){
  return isIDCard1.test(val) || isIDCard2.test(val) || isIDCard3.test(val);
}

alert(isIDCard("612731199208223333"));//测试,如果是身份证,返回true,否则返回false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
462508398
2014-02-21 · TA获得超过133个赞
知道小有建树答主
回答量:410
采纳率:100%
帮助的人:138万
展开全部
若果想跟数据库里面的数据验证的话,就必须用ajax或者后台代码了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
互联网大宝剑
2014-02-21 · 专注前端编程和扯犊子
互联网大宝剑
采纳数:122 获赞数:334

向TA提问 私信TA
展开全部
你的说清楚你要验证什么啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式