<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="" name="" id="Text_BankAccount">
<p id="banknoInfo"></p>
<button id="btn">测试</button>
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript">
window.onload = function() {
var btn = $('#btn');
btn.on('click', function() {
var val = $('#Text_BankAccount').val(); luhmCheck(val);
// console.log(val);
})
function luhmCheck(bankno){
var lastNum=bankno.substr(bankno.length-1,1);//取出最后一位(与luhm进行比较)
console.log(bankno,lastNum);
var first15Num=bankno.substr(0,bankno.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 && lastNum.length != 0){
$("#banknoInfo").html("Luhm验证通过");
return true;
}
else{
$("#banknoInfo").html("银行卡号必须符合Luhm校验");
return false;
}
}
} </script>
</body>
</html>

  

最新文章

  1. How Google TestsSoftware - Part Five
  2. 歌词文件解析(一):LRC格式文件的解析
  3. [翻译] Autofac 控制范围和生命周期
  4. Android清除本地数据缓存代码案例
  5. SQL中以count及sum为条件的查询
  6. [改善Java代码]推荐使用枚举定义常量
  7. vs2015启动iis express失败
  8. systemd service
  9. JavaScript学习笔记(9)——JavaScript语法之流程控制
  10. 使用git微命令深入理解git工作机制
  11. python 实现文本文件中的数字按序排序(位操作,低内存占用)
  12. .9-浅析webpack源码之NodeEnvironmentPlugin模块总览
  13. java代码中init method和destroy method的三种使用方式
  14. Java创建柱状图及饼状图
  15. filddler一个抓包修改的工具 貌似很强大2017.12.07
  16. 【转】大白话讲解Promise(一)
  17. docker容器日志收集方案(方案N,其他中间件传输方案)
  18. mysql学习笔记--遇到的坑
  19. flask based on tornado
  20. MGF 637: Financial Modeling

热门文章

  1. 【LDA】动手实现LDA
  2. Http抓包工具--查尔斯
  3. Perl怎样过滤html标签
  4. hpuoj--1287--HH实习(斐波那契数巧用)
  5. ie浏览器检测不到cookie的问题
  6. java 后台实现ajax post跨域请求传递json格式数据获取json数据问题
  7. 解决IE下的li中img多余4px的问题--IE6有的问题
  8. 1044 - Access denied for user 'root'@'%' to database 'xahy-blog' 解决方案二
  9. 线段树合并&amp;&amp;启发式合并笔记
  10. [APIO2014]回文串(回文自动机)