在一般的网站,身份张号码一般不作为一个必须的项目,因为这会涉及到安全和隐私问题,不过在某些特殊要求的网站则是必须要填写的,所以身份证格式的验证也是一种现实的需求。实现验证的方式有多种,例如可以使用正则表达式实现此功能,下面分享一下使用Ext实现的身份证格式验证代码。

代码如下:
   [ 其他 ] 运行代码    下载代码
<script>
var certCardValid = function(id){ 
  var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2]; 
  var wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]; 
  var Checker = [1,9,8,7,6,5,4,3,2,1,1]; 
  var msg = ""; 
  if(id.length != 15 && id.length != 18) 
  { 
    Ext.MessageBox.alert("信息提示","身份证号共有15位或18位。"); 
    return false; 
  } 
  var ai = id.length == 18 ?  id.substring(0,17) : id.slice(0,6) + "19" + id.slice(6,16); 
  if (!/^\\/d+$/.test(ai)) 
  { 
    Ext.MessageBox.alert("信息提示","身份证除最后一位外,必须为数字。"); 
    return false; 
  } 
  var yyyy = ai.slice(6,10); 
  var mm = ai.slice(10,12)-1;  
  var dd = ai.slice(12,14); 
  var d = new Date(yyyy,mm,dd); 
  var now = new Date(); 
  var year = d.getFullYear(); 
  var mon = d.getMonth();  
  var day = d.getDate(); 
  
  if (year != yyyy || mon != mm || day != dd) 
  { 
    Ext.MessageBox.alert("信息提示","身份证无效。"); 
    return false; 
  } 
  for(var i = 0,ret = 0; i < 17; i++)
  { 
    ret += ai.charAt(i) * wi[i]; 
  } 
  ai += arrVerifyCode[ret %= 11]; 
  ai = ai.toUpperCase(); 
  if(id.length == 18 && id != ai)
  { 
    Ext.MessageBox.alert("信息提示","身份证无效。"); 
    return false; 
  } 
  return true; 
};
</script>

代码描述:Ext身份证格式验证。Ext实现的身份证格式验证代码



146 194



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到