本文实例讲述了JS实现的获取银行卡号归属地及银行卡类型操作以及Luhn校验算法校验银行卡号算法。分享给大家供大家参考,具体如下:
/**
* Luhn校验算法校验银行卡号;Luhm校验规则:16位银行卡号(19位通用):1、将未带校验位的 15(或18)位卡号从右依次编号 1 到 15(18),位于奇数位号上的数字乘以 2;2、将奇位乘积的个十位全部相加,再加上所有偶数位上的数字。
* @param {string} bankno 银行卡号
* @returns 是否为正确的银行卡号
*/
function verifyBankCardNumber(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 arrOuShu = new Array(); //偶数位数组
for (var j = 0; j 9 的分割之后的数组个位数
var jishu_child2 = new Array(); //奇数位*2 >9 的分割之后的数组十位数
for (var h = 0; h 9 的分割之后的数组个位数之和
var sumJiShuChild2 = 0; //奇数位*2 >9 的分割之后的数组十位数之和
var sumTotal = 0;
for (var m = 0; m
本文来自博客园,作者:TomLucas,转载请注明原文链接:https://www.cnblogs.com/lucasDC/p/17233425.html
参与评论
手机查看
返回顶部