Heim > Artikel > Web-Frontend > So überprüfen Sie die gemeinsame Nutzung des Bankkartenkontocodes mit js und jq
In diesem Artikel erfahren Sie hauptsächlich, wie Sie den Bankkartenkontocode mit js und jq überprüfen. Ich hoffe, er kann allen helfen.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf" /> <script type="text/javascript" src="js/jquery.1.8.3.min.js"></script> <title>验证银行账号</title> <style type="text/css"> <!-- .STYLE1 {color: #FF0000} --> </style> <script language="javascript" type="text/javascript"> function check(){ var account = document.form1.account.value; if (account.length < 16 || account.length > 19) { alert("银行卡号长度必须在16到19之间"); //$("#accountInfo").html("银行卡号长度必须在16到19之间"); return false; } var num = /^\d*$/; //全数字 if (!num.exec(account)) { alert("银行卡号必须全为数字"); //$("#accountInfo").html("银行卡号必须全为数字"); return false; } //开头6位 var strBin="10,18,30,35,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,60,62,65,68,69,84,87,88,94,95,98,99"; if (strBin.indexOf(account.substring(0, 2))== -1) { alert("银行卡号开头6位不符合规范"); //$("#accountInfo").html("银行卡号开头6位不符合规范"); return false; } var lastNum=account.substr(account.length-1,1);//取出最后一位(与luhm进行比较) var first15Num=account.substr(0,account.length-1);//前15或18位 var newArr=new Array(); for(var i=first15Num.length-1;i>-1;i--){ //前15或18位倒序存进数组 newArr.push(first15Num.substr(i,1)); } var arrJiShu=new Array(); //奇数位*2的积 <9 var arrJiShu2=new Array(); //奇数位*2的积 >9 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();//奇数位*2 >9 的分割之后的数组个位数 var jishu_child2=new Array();//奇数位*2 >9 的分割之后的数组十位数 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; //奇数位*2 < 9 的数组之和 var sumOuShu=0; //偶数位数组之和 var sumJiShuChild1=0; //奇数位*2 >9 的分割之后的数组个位数之和 var sumJiShuChild2=0; //奇数位*2 >9 的分割之后的数组十位数之和 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); //计算Luhm值 var k= parseInt(sumTotal)%10==0?10:parseInt(sumTotal)%10; var luhm= 10-k; if(lastNum==luhm){ return true; } else{ return false; } } </script> </head> <body> <form id="form1" name="form1" method="post" action=""> <p>账号: <input type="text" name="account" id="account" /> <span class="STYLE1">* (19位数字)</span></p> <p> <input type="button" name="button" id="button" value="验证" onclick="check()" /> </p> <!--<p id="accountInfo"></p>--> </form> </body> </html>
Verwandte Empfehlungen:
Aufrufcode der Echtnamen-Authentifizierungsschnittstelle für Bankkarten PHP-Beispiel
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die gemeinsame Nutzung des Bankkartenkontocodes mit js und jq. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!