>  기사  >  웹 프론트엔드  >  js를 사용하여 ID 카드 정보가 합법적인지 확인합니다.

js를 사용하여 ID 카드 정보가 합법적인지 확인합니다.

大家讲道理
大家讲道理원래의
2016-11-10 13:16:231296검색

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;

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.