zl程序教程

您现在的位置是:首页 >  前端

当前栏目

javascript验证身份证完全方法具体实现

JavaScript方法 实现 验证 完全 具体 身份证
2023-06-13 09:15:12 时间

复制代码代码如下:


varcertCardValid=function(id){
       vararrVerifyCode=[1,0,"x",9,8,7,6,5,4,3,2];
       varwi=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];
       varChecker=[1,9,8,7,6,5,4,3,2,1,1];
       varmsg="";
       if(id.length!=15&&id.length!=18){
           Ext.MessageBox.alert("信息提示","身份证号共有15位或18位。");
           returnfalse;
       }

       varai=id.length==18? id.substring(0,17):id.slice(0,6)+"19"+id.slice(6,16);

 
       if(!/^/d+$/.test(ai)){
           Ext.MessageBox.alert("信息提示","身份证除最后一位外,必须为数字。");
           returnfalse;
       } 

 
       varyyyy=ai.slice(6,10);
       varmm=ai.slice(10,12)-1; 
       vardd=ai.slice(12,14);
       vard=newDate(yyyy,mm,dd);
       varnow=newDate();
       varyear=d.getFullYear();
       varmon=d.getMonth(); 
       varday=d.getDate();

 
       if(year!=yyyy||mon!=mm||day!=dd){
           Ext.MessageBox.alert("信息提示","身份证无效。");
           returnfalse;
       }

 
       for(vari=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("信息提示","身份证无效。");
           returnfalse;
       }
       returntrue;
   };