ru-codes - один из модулей node.js для проверки корректности ввода ИНН, КПП, ОГРН[ИП] и СНИЛС, а также для генерации таких кодов в автоматических тестах.
npm install ru-codes
Код | Функция проверки | Генератор | Реализация |
---|---|---|---|
ИНН физического лица | isINN12 (str) |
randomINN12 () |
ScalarProduct |
ИНН юридического лица | isINN10 (str) |
randomINN10 () |
ScalarProduct |
КПП | isKPP (str) |
randomKPP () |
Check |
ОГРН | isOGRN13 (str) |
randomOGRN13 () |
Horner |
ОГРНИП | isOGRN15 (str) |
randomOGRN15 () |
Horner |
СНИЛС | isSNILS (str) |
randomSNILS ({format?}) |
SNILS |
const {isSNILS, randomINN12, /*...*/} = require ('ru-codes')
const testINN12 = randomINN12 ()
try {
isSNILS (s)
}
catch (err) {
switch (err.code) {
case 'type':
// err.type -- это typeof аргумента, оказавшийся не string
case 'length':
// err.tobe -- требуемая длина строки
// err.asis -- реальная длина строки
case 'char':
// err.value -- символ не попавший в интервал '0'..'9'
// err.pos -- позиция этого символа (от 0)
case 'format':
// err.pos -- позиция проблемного символа (для формата СНИЛС)
case 'checksum':
// err.tobe -- контрольная сумма, вычисленная по основной части строки
// err.asis -- значение контрольной суммы, прочитанное непосредственно из строки
default:
throw err
}
}