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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
function checkBankCardNumber() { var bankCardNumberNew = bankCardNumber.value; if(bankCardNumberOld != bankCardNumberNew && bankCardNumberNew != null && bankCardNumberNew != ""){ if(bankCardNumberNew == "" || bankCardNumberNew.length < 16 || bankCardNumberNew.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(bankCardNumberNew.substring(0, 2)) == -1) { bankCardNumber_notice.innerHTML = "银行卡号开头6位不符合规范,请检查后重新输入!"; bankCardNumber_notice.style.color = 'red'; return false; } var num = /^\d*$/; if( !num.exec(bankCardNumberNew)) { bankCardNumber_notice.innerHTML = "银行卡号必须全为数字,请检查后重新输入!"; bankCardNumber_notice.style.color = 'red'; return false; } var lastNum = bankCardNumberNew.substr(bankCardNumberNew.length-1, 1); var first15Num = bankCardNumberNew.substr(0, bankCardNumberNew.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){ $.ajax({ async:false, type:"post", url:"${ctx}/gsmis/expert/checkRepeat?checkString=" + bankCardNumberNew, dataType:'html', error : function() { alert('请求失败!请刷新页面重试! '); }, success : function(data) { if (data == 0) { bankCardNumber_notice.innerHTML ="银行卡号验证通过!"; bankCardNumber_notice.style.color = 'green'; } else { bankCardNumber_notice.innerHTML ="银行卡号已被占用!"; bankCardNumber_notice.style.color = 'red'; return false; } } }); }else{ bankCardNumber_notice.innerHTML ="银行卡号不合法,请检查后重新输入!"; bankCardNumber_notice.style.color = 'red'; return false; } }else if( bankCardNumberNew != null && bankCardNumberNew != ""){ bankCardNumber_notice.innerHTML ="银行卡号验证通过!"; bankCardNumber_notice.style.color = 'green'; }else{ bankCardNumber_notice.innerHTML ="请输入银行卡号!"; bankCardNumber_notice.style.color = 'red'; return false; } return true; }
|