js验证银行卡号
2016-01-26 00:00
691 查看
/* *判断是否是银行卡号 *不足:bankno = '' ,也会返回ture */ function luhmCheck(bankno){ var lastNum=bankno.substr(bankno.length-1,1);//取出最后一位(与luhm进行比较) 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 ); } 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; } }
相关文章推荐
- ajax 对 Json 格式的解析
- js中substr,substring,indexOf,lastIndexOf的用法小结
- Javascript Math ceil()、floor()、round()三个函数的区别
- Ember.js的组件如何使用sendAction与控制器、路由通信
- 简单但很强大的javascript技巧
- d语言json的解析
- js中如何判断{},[]
- JavaScript判断浏览器类型
- JavaScript 正在蚕食着开发领域
- extjs 中的afterRender, onDestroy等函数什么时候调用啊
- EXTJS日期时间选择控件(精确到秒)
- $.type(),js数据类型判断
- Extjs4中的Ext.form.field.Spinner
- 【JS学习笔记】 面向对象与原型
- 认识JS
- 【JS学习笔记】JS基础下:函数的讲解
- 插件兼容CommonJS, AMD, CMD 和 原生 JS
- ExtJs:el与contentEl区别
- javascript的几种继承方式
- Extjs 基础篇—— Ext.DomHelper