Skip to content
do- edited this page Sep 22, 2024 · 58 revisions

ru-codes - один из модулей node.js для проверки корректности ввода ИНН, КПП, ОГРН[ИП] и СНИЛС, а также для генерации случайных кодов для организации тестирования.

Установка

npm install ru-codes

API

Код Функция проверки Генератор Реализация
ИНН ФЛ isINN12 (str) randomINN12 (opt) ScalarProduct
ИНН ЮЛ isINN10 (str) randomINN10 (opt) ScalarProduct
КПП isKPP (str) randomKPP (opt) Check
ОГРН isOGRN13 (str) randomOGRN13 (opt) Horner
ОГРНИП isOGRN15 (str) randomOGRN15 () Horner
ОКПО ЮЛ isOKPO8 (str) randomOKPO8 () OKPO
ОКПО ИП isOKPO10 (str) randomOKPO10 (opt) OKPO
СНИЛС isSNILS (str) randomSNILS (opt) SNILS

Опции randomXXX

Имя Тип По умолчанию Описание
'pre' [String] [] Массив строк, одна из которых будет выбрана в качестве префикса генерируемого значения
'format' Boolean false Форматировать ли сгенерированное значение (реализовано только для СНИЛС)

Использование

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
  }
}
Clone this wiki locally