Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2019, 20:19
Новичок на форуме
Отправить личное сообщение для Artjomrgv Посмотреть профиль Найти все сообщения от Artjomrgv
 
Регистрация: 20.02.2019
Сообщений: 1

Валидация ИНН
Добрый день. Подскажите пожалуйста кто нибудь понимает как работает данный код, какие два параметра надо в него передать, что он сработал?
Не могу разобраться.
Образец взял с github
https://github.com/Kholenkov/js-data...-validation.js

function validateInn(inn, error) {
var result = false;
if (typeof inn === 'number') {
inn = inn.toString();
} else if (typeof inn !== 'string') {
inn = '';
}
if (!inn.length) {
error.code = 1;
error.message = 'ИНН пуст';
} else if (/[^0-9]/.test(inn)) {
error.code = 2;
error.message = 'ИНН может состоять только из цифр';
} else if ([10, 12].indexOf(inn.length) === -1) {
error.code = 3;
error.message = 'ИНН может состоять только из 10 или 12 цифр';
} else {
var checkDigit = function (inn, coefficients) {
var n = 0;
for (var i in coefficients) {
n += coefficients[i] * inn[i];
}
return parseInt(n % 11 % 10);
};
switch (inn.length) {
case 10:
var n10 = checkDigit(inn, [2, 4, 10, 3, 5, 9, 4, 6, 8]);
if (n10 === parseInt(inn[9])) {
result = true;
}
break;
case 12:
var n11 = checkDigit(inn, [7, 2, 4, 10, 3, 5, 9, 4, 6, 8]);
var n12 = checkDigit(inn, [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8]);
if ((n11 === parseInt(inn[10])) && (n12 === parseInt(inn[11]))) {
result = true;
}
break;
}
if (!result) {
error.code = 4;
error.message = 'Неправильное контрольное число';
}
}
return result;
}
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2020, 15:51
Новичок на форуме
Отправить личное сообщение для alexBBB Посмотреть профиль Найти все сообщения от alexBBB
 
Регистрация: 07.02.2016
Сообщений: 6

Посмотрите тесты для этой функции
https://github.com/Kholenkov/js-data...ation-tests.js
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Валидация веб формы giovanni Events/DOM/Window 3 01.09.2017 15:49
Js валидация виджета часов в django xammett Events/DOM/Window 0 23.11.2015 10:31
Валидация E-mail oopros Общие вопросы Javascript 8 24.08.2015 22:05
Валидация: unobtrusive и обычная валидация. Как скрестить? dux1 Элементы интерфейса 2 27.07.2015 08:31
Валидация формы в зависимости от значения radio batton housewm Events/DOM/Window 1 10.01.2014 18:46