//校验银行卡号,银行卡校验规则(Luhn算法)
export function validateBankNo(value) {
if (value == "" || !isPositiveInteger(value)) return false;
var wei = [],
sumOdd = 0,
sumEven = 0,
length = value.length;
for (var j = 0; j < length; j++) {
wei[j] = parseInt(value.substring(length - j - 1, length - j)); // 从最末一位开始提取,每一位上的数值
}
for (var i = 0; i < length / 2; i++) {
sumOdd += wei[2 * i];
if (wei[2 * i + 1] * 2 > 9) wei[2 * i + 1] = wei[2 * i + 1] * 2 - 9;
else wei[2 * i + 1] *= 2;
sumEven += wei[2 * i + 1];
}
return (sumOdd + sumEven) % 10 == 0;
}
//正整数
export function isPositiveInteger(value) {
return /^[1-9][0-9]*$/.test(value);
}
校验银行卡号,银行卡校验规则(Luhn算法)
最新推荐文章于 2023-05-30 11:00:39 发布