inn-ogrn-validator
v1.0.1
Published
Библиотека для валидации российских ИНН (10 и 12 знаков) и ОГРН (13 и 15 знаков)
Maintainers
Readme
Валидатор ИНН и ОГРН
Простая и надежная библиотека для валидации по хеш ключам российских ИНН (10 и 12 знаков) и ОГРН (13 и 15 знаков) с полной поддержкой TypeScript. Алгоритмы валидации основаны на официальных методах ФНС Росси. ⭐ Если библиотека была полезна, поставьте звезду на GitHub
Особенности
- ✅ Проверка ИНН для юридических лиц (10 знаков)
- ✅ Проверка ИНН для физических лиц (12 знаков)
- ✅ Проверка ОГРН (13 знаков)
- ✅ Проверка ОГРНИП (15 знаков)
- ✅ Полная поддержка TypeScript с типами
- ✅ Нулевая зависимость
- ✅ 100% покрытие тестами
Установка
npm install inn-ogrn-validatorAPI
isValidINN(inn: string): boolean
Проверяет корректность ИНН.
| Параметр | Тип | Описание |
|----------|-----|----------|
| inn | string | ИНН для проверки (10 или 12 цифр) |
Возвращает: true если ИНН валиден, иначе false
isValidINN('7707083893'); // true - ИНН Сбербанка
isValidINN('1234567890'); // false
isValidINN('123456789012'); // true - ИНН физического лицаisValidOGRN(ogrn: string): boolean
Проверяет корректность ОГРН.
| Параметр | Тип | Описание |
|----------|-----|----------|
| ogrn | string | ОГРН для проверки (13 или 15 цифр) |
Возвращает: true если ОГРН валиден, иначе false
isValidOGRN('304500116000157') // true - ИП (15 знаков)
isValidOGRN('1234567890123') // false
isValidOGRN('1027700132195') // true - ОГРН Сбербанка
isValidOGRN('1234567890123') // falseИспользование
import { isValidINN, isValidOGRN } from 'inn-ogrn-validator';
const inn: string = '7707083893';
const result: boolean = isValidINN(inn);
// Пример использования в форме
function validateForm(inn: string, ogrn: string) {
if (!isValidINN(inn)) {
throw new Error('Неверный ИНН');
}
if (!isValidOGRN(ogrn)) {
throw new Error('Неверный ОГРН');
}
return { inn, ogrn };
}Пример с React Hook Form
import { useForm } from 'react-hook-form';
import { isValidINN, isValidOGRN } from 'inn-ogrn-validator';
function CompanyForm() {
const { register, handleSubmit, formState: { errors } } = useForm();
return (
<form onSubmit={handleSubmit(data => console.log(data))}>
<input
{...register('inn', {
validate: value => isValidINN(value) || 'Неверный ИНН'
})}
placeholder="ИНН"
/>
{errors.inn && <span>{errors.inn.message}</span>}
<input
{...register('ogrn', {
validate: value => isValidOGRN(value) || 'Неверный ОГРН'
})}
placeholder="ОГРН"
/>
{errors.ogrn && <span>{errors.ogrn.message}</span>}
<button type="submit">Отправить</button>
</form>
);
}Разработка
# Клонирование репозитория
git clone https://github.com/yourusername/inn-ogrn-validator.git
cd inn-ogrn-validator
# Установка зависимостей
npm install
# Запуск тестов
npm test
# Сборка
npm run buildЛицензия
MIT © [Max Lantinov]
