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;