letraceursnork / russian-validators
用于验证俄罗斯身份证号码的库,如INN、SNILS、OGRN/OGRNIP等。
v1.1.0
2023-04-05 14:31 UTC
Requires
- php: >=8.0
- ext-bcmath: *
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.13
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
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
要求
该包只需要两个点
- PHP 8.0+
- 已安装和连接的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) { // Обработка исключения }