1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| function checkBankCardNumber() { var bankcardnumberResult = bankcardnumber.value; if(bankcardnumberResult == "" || bankcardnumberResult.length < 16 || bankcardnumberResult.length > 19) { bankcardnumber_notice.innerHTML = "银行卡号位数必须在16~19之间,请完整输入银行卡号!"; bankcardnumber_notice.style.color = 'red'; return false; } 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(bankcardnumberResult.substring(0, 2)) == -1) { bankcardnumber_notice.innerHTML = "银行卡号开头6位不符合规范,请检查后重新输入!"; bankcardnumber_notice.style.color = 'red'; return false; } var num = /^\d*$/; if(!num.exec(bankcardnumberResult)) { bankcardnumber_notice.innerHTML = "银行卡号必须全为数字,请检查后重新输入!"; bankcardnumber_notice.style.color = 'red'; return false; } var lastNum=bankcardnumberResult.substr(bankcardnumberResult.length-1,1); var first15Num=bankcardnumberResult.substr(0,bankcardnumberResult.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){ bankcardnumber_notice.innerHTML ="银行卡号验证通过!"; bankcardnumber_notice.style.color = 'green'; return true; } else{ bankcardnumber_notice.innerHTML ="银行卡号不合法,请检查后重新输入!"; bankcardnumber_notice.style.color = 'red'; return false; } }
|