1
1
![ workflow] ( https://github.com/do-/node-ru-codes/actions/workflows/main.yml/badge.svg )
2
2
![ Jest coverage] ( ./badges/coverage-jest%20coverage.svg )
3
3
4
- [ ru-codes] ( https://github.com/do-/node-ru-codes/wiki ) - один из модулей node.js для проверки корректности ввода ИНН, КПП, ОГРН[ ИП] и СНИЛС, а также для генерации таких кодов в автоматических тестах .
4
+ [ ru-codes] ( https://github.com/do-/node-ru-codes/wiki ) - один из модулей node.js для проверки корректности ввода ИНН, КПП, ОГРН[ ИП] и СНИЛС, а также для генерации случайных кодов для организации тестирования .
5
5
6
6
# Установка
7
7
@@ -12,21 +12,32 @@ npm install ru-codes
12
12
13
13
| Код | Функция проверки | Генератор | Реализация |
14
14
| - | - | - | - |
15
- | [ ИНН] ( https://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%89%D0%B8%D0%BA%D0%B0 ) физического лица | ` isINN12 (str) ` | ` randomINN12 () ` | [ ScalarProduct] ( https://github.com/do-/node-ru-codes/wiki/ScalarProduct )
16
- | [ ИНН] ( https://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%89%D0%B8%D0%BA%D0%B0 ) юридического лица | ` isINN10 (str) ` | ` randomINN10 () ` | [ ScalarProduct] ( https://github.com/do-/node-ru-codes/wiki/ScalarProduct )
17
- | [ КПП] ( https://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%89%D0%B8%D0%BA%D0%B0#%D0%9A%D0%BE%D0%B4_%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D1%8B_%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%BD%D0%B0_%D1%83%D1%87%D1%91%D1%82_(%D0%9A%D0%9F%D0%9F) ) | ` isKPP (str) ` | ` randomKPP () ` | [ Check] ( https://github.com/do-/node-ru-codes/wiki/Check )
18
- | [ ОГРН] ( https://ru.wikipedia.org/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9_%D0%B3%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80 ) | ` isOGRN13 (str) ` | ` randomOGRN13 () ` | [ Horner] ( https://github.com/do-/node-ru-codes/wiki/Horner )
19
- | [ ОГРНИП] ( https://ru.wikipedia.org/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9_%D0%B3%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%B8%D0%BD%D0%B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D1%82%D0%B5%D0%BB%D1%8F ) | ` isOGRN15 (str) ` | ` randomOGRN15 () ` | [ Horner] ( https://github.com/do-/node-ru-codes/wiki/Horner )
20
- [ ОКПО] ( https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%89%D0%B5%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B9_%D0%B8_%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B9 ) юридического лица | ` isOKPO8 (str) ` | ` randomOKPO8 () ` | [ OKPO] ( https://github.com/do-/node-ru-codes/wiki/OKPO )
21
- [ ОКПО] ( https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%89%D0%B5%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B9_%D0%B8_%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B9 ) индивидуального предпринимателя | ` isOKPO10 (str) ` | ` randomOKPO10 () ` | [ OKPO] ( https://github.com/do-/node-ru-codes/wiki/OKPO )
22
- | [ СНИЛС] ( https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B0%D1%85%D0%BE%D0%B2%D0%BE%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%B8%D0%BD%D0%B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BB%D0%B8%D1%86%D0%B5%D0%B2%D0%BE%D0%B3%D0%BE_%D1%81%D1%87%D1%91%D1%82%D0%B0 ) | ` isSNILS (str) ` | ` randomSNILS ({format?}) ` | [ SNILS] ( https://github.com/do-/node-ru-codes/wiki/SNILS )
15
+ | [ № р/с] ( https://ru.wikipedia.org/w/index.php?title=%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE&oldid=139614063#%D0%9D%D0%BE%D0%BC%D0%B5%D1%80%D0%B0_%D0%B1%D0%B0%D0%BD%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D1%85_%D1%81%D1%87%D0%B5%D1%82%D0%BE%D0%B2 ) | ` isBankAcct (str, bic) ` | ` randomBankAcct (bic, opt) ` | [ BankAcct] ( https://github.com/do-/node-ru-codes/wiki/BankAcct )
16
+ | [ ИНН] ( https://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%89%D0%B8%D0%BA%D0%B0 ) ФЛ | ` isINN12 (str) ` | ` randomINN12 (opt) ` | [ ScalarProduct] ( https://github.com/do-/node-ru-codes/wiki/ScalarProduct )
17
+ | [ ИНН] ( https://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%89%D0%B8%D0%BA%D0%B0 ) ЮЛ | ` isINN10 (str) ` | ` randomINN10 (opt) ` | [ ScalarProduct] ( https://github.com/do-/node-ru-codes/wiki/ScalarProduct )
18
+ | [ КПП] ( https://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B5%D0%BD%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%89%D0%B8%D0%BA%D0%B0#%D0%9A%D0%BE%D0%B4_%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D1%8B_%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%BD%D0%B0_%D1%83%D1%87%D1%91%D1%82_(%D0%9A%D0%9F%D0%9F) ) | ` isKPP (str) ` | ` randomKPP (opt) ` | [ Check] ( https://github.com/do-/node-ru-codes/wiki/Check )
19
+ | [ ОГРН] ( https://ru.wikipedia.org/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9_%D0%B3%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80 ) | ` isOGRN13 (str) ` | ` randomOGRN13 (opt) ` | [ Horner] ( https://github.com/do-/node-ru-codes/wiki/Horner )
20
+ | [ ОГРНИП] ( https://ru.wikipedia.org/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B9_%D0%B3%D0%BE%D1%81%D1%83%D0%B4%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%B8%D0%BD%D0%B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D1%82%D0%B5%D0%BB%D1%8F ) | ` isOGRN15 (str) ` | ` randomOGRN15 (opt) ` | [ Horner] ( https://github.com/do-/node-ru-codes/wiki/Horner )
21
+ [ ОКПО] ( https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%89%D0%B5%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B9_%D0%B8_%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B9 ) ЮЛ | ` isOKPO8 (str) ` | ` randomOKPO8 (opt) ` | [ OKPO] ( https://github.com/do-/node-ru-codes/wiki/OKPO )
22
+ [ ОКПО] ( https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%89%D0%B5%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B9_%D0%B8_%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B9 ) ИП | ` isOKPO10 (str) ` | ` randomOKPO10 (opt) ` | [ OKPO] ( https://github.com/do-/node-ru-codes/wiki/OKPO )
23
+ | [ СНИЛС] ( https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B0%D1%85%D0%BE%D0%B2%D0%BE%D0%B9_%D0%BD%D0%BE%D0%BC%D0%B5%D1%80_%D0%B8%D0%BD%D0%B4%D0%B8%D0%B2%D0%B8%D0%B4%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BB%D0%B8%D1%86%D0%B5%D0%B2%D0%BE%D0%B3%D0%BE_%D1%81%D1%87%D1%91%D1%82%D0%B0 ) | ` isSNILS (str) ` | ` randomSNILS (opt) ` | [ SNILS] ( https://github.com/do-/node-ru-codes/wiki/SNILS )
24
+
25
+ Примечание 1: Разрабатывать на основе контрольных чисел валидаторы и генераторы для БИК и корреспондентских счетов не имеет смысла, поскольку полный справочник этих значений содержит лишь порядка 1000 записей, а [ его актуальная версия] ( https://cbr.ru/PSystem/payment_system/ ) всегда находится в открытом доступе.
26
+
27
+ Примечание 2: Помимо 8- и 10-значных кодов [ ОКПО] ( https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%89%D0%B5%D1%80%D0%BE%D1%81%D1%81%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B9_%D0%B8_%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B9 ) , предусмотрены также 14-значные: для обособленных подразделений. Однако там предметом валидации является только отрезок из первых 8 символов: ОКПО юридического лица в целом.
28
+
29
+ ## Опции ` randomXXX `
30
+ | Имя | Тип | По умолчанию | Описание
31
+ | - | - | - | - |
32
+ | ` pre ` | ` [String] ` | ` [''] ` | Массив строк, одна из которых будет выбрана в качестве префикса генерируемого значения
33
+ | ` format ` | ` Boolean ` | ` false ` | Форматировать ли сгенерированное значение (реализовано только для СНИЛС)
23
34
24
35
# Использование
25
36
26
37
``` js
27
38
const {isSNILS , randomINN12 , /* ...*/ } = require (' ru-codes' )
28
39
29
- const testINN12 = randomINN12 ()
40
+ const testINN12 = randomINN12 ({pre : [ ' 50 ' , ' 77 ' ]}) // ИНН физлица, Москва или область
30
41
31
42
try {
32
43
isSNILS (s)
0 commit comments