letraceursnork/russian-validators

用于验证俄罗斯身份证号码的库,如INN、SNILS、OGRN/OGRNIP等。

v1.1.0 2023-04-05 14:31 UTC

This package is auto-updated.

Last update: 2024-09-20 12:43:36 UTC


README

描述

该包旨在验证俄罗斯接受的多种标识符,如SNILS、INN、OGRN/OGRNIP和KPP,因为“国际”验证器(例如,来自Symfony包的验证器)不将这些标识符视为与VAT和其他国际类似物分开。

在每个验证器类的描述中,提供了对维基百科的链接,并在可能的情况下,提供了相关政府法律的链接,解释为什么某些标识符以这种方式进行验证。

使用composer安装

composer install letraceursnork/russian-validators

要求

该包只需要两个点

  1. PHP 8.0+
  2. 已安装和连接的BCMath库(ext-bcmath)

使用示例

use LTS\RussianValidators\InnValidator;
//use LTS\RussianValidators\KppValidator;
//use LTS\RussianValidators\OgrnipValidator;
//use LTS\RussianValidators\OgrnValidator;
//use LTS\RussianValidators\SnilsValidator;

$value = '<SOME_INN>';
$validator = new InnValidator(); // или любой другой класс валидатора из перечисленных выше

$validator->setPurifyPattern('[-+\/\*\\_\.,\s]'); // установить $pattern для функции preg_replace. Все символы, попадающие под $pattern будут удалены из строки перед валидацией. Позволяет очистить строку от разделителей - $pattern по-умолчанию `[-+\/\*\\_\.,\s]`

$is_valid  = $validator->validate($value); // true|false

$validator->throwErrorOnInvalid(); // При неудачной валидации не возвращает false, а выбрасывает исключение типа InvalidArgumentException
try {
    $is_valid = $validator->validate($value); // true, если валидация успешна
} catch(InvalidArgumentException $exception) {
    // Обработка исключения
}