jq验证帐号php,js、jq如何验证银行卡账号代码分享

本文主要和大家分享js、jq如何验证银行卡账号代码,本文主要通过代码来分享,希望能帮助到大家。

验证银行账号

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

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

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

sumJiShu=sumJiShu+parseInt(arrJiShu[m]);

}

for(var n=0;n

sumOuShu=sumOuShu+parseInt(arrOuShu[n]);

}

for(var p=0;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;

}

}

账号:

  * (19位数字)

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值