首页 > 代码库 > 银行卡校验

银行卡校验

$.validator.addMethod("luhm", function(bankno) {
	    var lastNum=bankno.substr(bankno.length-1,1);
	    var first15Num=bankno.substr(0,bankno.length-1);
	    var newArr=new Array();
	    for(var i=first15Num.length-1;i>-1;i--){ 
	        newArr.push(first15Num.substr(i,1));
	    }
	    var arrJiShu=new Array(); 
	    var arrJiShu2=new Array(); 
	     
	    var arrOuShu=new Array(); 
	    for(var j=0;j<newArr.length;j++){
	        if((j+1)%2==1){
	            if(parseInt(newArr[j])*2<9)
	            arrJiShu.push(parseInt(newArr[j])*2);
	            else
	            arrJiShu2.push(parseInt(newArr[j])*2);
	        }
	        else 
	        arrOuShu.push(newArr[j]);
	    }
	     
	    var jishu_child1=new Array();
	    var jishu_child2=new Array();
	    for(var h=0;h<arrJiShu2.length;h++){
	        jishu_child1.push(parseInt(arrJiShu2[h])%10);
	        jishu_child2.push(parseInt(arrJiShu2[h])/10);
	    }        
	    var sumJiShu=0; 
	    var sumOuShu=0; 
	    var sumJiShuChild1=0; 
	    var sumJiShuChild2=0; 
	    var sumTotal=0;
	    for(var m=0;m<arrJiShu.length;m++){
	        sumJiShu=sumJiShu+parseInt(arrJiShu[m]);
	    }
	    for(var n=0;n<arrOuShu.length;n++){
	        sumOuShu=sumOuShu+parseInt(arrOuShu[n]);
	    }
	    for(var p=0;p<jishu_child1.length;p++){
	        sumJiShuChild1=sumJiShuChild1+parseInt(jishu_child1[p]);
	        sumJiShuChild2=sumJiShuChild2+parseInt(jishu_child2[p]);
	    }      
	    sumTotal=parseInt(sumJiShu)+parseInt(sumOuShu)+parseInt(sumJiShuChild1)+parseInt(sumJiShuChild2);
	    var k= parseInt(sumTotal)%10==0?10:parseInt(sumTotal)%10;        
	    var luhm= 10-k;
	    if(lastNum==luhm){
	    	return true;
	    }else{
	    	return false;
	    }        
}, "");