У меня есть следующий код, который проверяет, допустимы ли определенные цифры, используя модуль алгоритма Луна 10.
function isCheckdigitCorrect(value) {
// accept only digits, dashes or spaces
if (/[^0-9-\s]+/.test(value)) return false;
var nCheck = 0, nDigit = 0, bEven = false;
value = value.replace(/\D/g, "");
for (var n = value.length - 1; n >= 0; n--) {
var cDigit = value.charAt(n),
nDigit = parseInt(cDigit, 10);
if (bEven) {
if ((nDigit *= 2) > 9) nDigit -= 9;
}
nCheck += nDigit;
bEven = !bEven;
}
return (nCheck % 10) == 0;
}
Мне нужна другая функция, которая фактически генерирует следующую контрольную цифру, предоставляя четырехзначное число, чтобы 5-я цифра была контрольной суммой следующей цифры.