js验证身份证信息是否合法

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
function validateCard(pId, field){
		    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];
		    if(pId.length != 15 && pId.length != 18){
		    	return false;
		    }
		    var Ai=pId.length==18 ?  pId.substring(0,17)   :   pId.slice(0,6)+"19"+pId.slice(6,16);
		    if (!/^\d+$/.test(Ai)){
		    	return false;
		    }
		    var yyyy=Ai.slice(6,10) ,  mm=Ai.slice(10,12)-1  ,  dd=Ai.slice(12,14);
		    var d=new Date(yyyy,mm,dd) ,  now=new Date();
		     var year=d.getFullYear() ,  mon=d.getMonth() , day=d.getDate();
		    if (year!=yyyy || mon!=mm || day!=dd || d>now || year<1900){
		    	return false;
		    }
		    for(var i=0,ret=0;i<17;i++)  ret+=Ai.charAt(i)*Wi[i];    
		    Ai+=arrVerifyCode[ret %=11];     
		    return pId.length ==18 && pId != Ai?false:true;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:php压缩CSS文件

下一篇:iOS_网络请求_代理方式