devsergeev/inn-validator
Composer 安装命令:
composer require devsergeev/inn-validator
包简介
Inn validator
README 文档
README
Описание
Валидирует ИНН (идентификационный номер налогоплательщика) как физлица (12 цифр), так и юрлица (10 цифр). Осуществляет проверку того, что ИНН удовлетворяет следующим условиям (см википедию):
- состоит из 10 или 12 символов
- состоит только из цифр
- имеет правильную котрольную сумму
Установка с помощью composer
composer require devsergeev/inn-validator
Пример использования
use \devsergeev\validators\InnValidator;
try {
InnValidator::check($inn);
} catch (InvalidArgumentException $e) {
echo $e->getMessage();
echo $e->getCode();
}
Метод InnValidator::check(string $inn) возвращает true, если строка $inn является валидным ИНН. В противном случае
будет выброшено исключение с соответствующим сообщением об ошибке.
Несмотря на то, что валидатор имеет встроенные сообщения об ошибках ИНН, вы можете задать свои сообщения:
use \devsergeev\validators\InnValidator;
InnValidator::$messageInvalidLenght = 'Ваше сообщение о недопустимой длине ИНН';
InnValidator::$messageOnlyDigits = 'Ваше сообщение о том, что ИНН должен состоять только из цифр';
InnValidator::$messageInvalidChecksum = 'Ваше сообщение о неправильной контрольной сумме';
try {
InnValidator::check($inn);
} catch (InvalidArgumentException $e) {
echo $e->getMessage();
}
Пример использования кодов исключения и альтернативная реализация своих сообщений:
use \devsergeev\validators\InnValidator;
try {
InnValidator::check($inn);
} catch (InvalidArgumentException $e) {
switch ($e->getCode()) {
case InnValidator::CODE_INVALID_LENGHT:
$message = 'Ваше сообщение о недопустимой длине ИНН';
break;
case InnValidator::CODE_NOT_ONLY_DIGITS:
$message = 'Ваше сообщение о том, что ИНН должен состоять только из цифр';
break;
case InnValidator::CODE_INVALID_CHECKSUM:
$message = 'Ваше сообщение о неправильной контрольной сумме';
break;
}
echo $message;
}
Docker-compose для разработки
Создать docker-compose
docker-compose -f ./docker/docker-compose.yml --env-file ./docker/.env up
Запустить bash
docker-compose -f ./docker/docker-compose.yml --env-file ./docker/.env run --rm php-cli bash
Установить зависимости
composer install
Запустить тесты
vendor/bin/phpunit
devsergeev/inn-validator 适用场景与选型建议
devsergeev/inn-validator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 17.26k 次下载、GitHub Stars 达 3, 最近一次更新时间为 2019 年 08 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「validator」 「checksum」 「INN」 「inn-validator」 「inn validator」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 devsergeev/inn-validator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 devsergeev/inn-validator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 devsergeev/inn-validator 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Runn Me! Validation and Sanitization Library
This package parses and validates International Bank Account Number (IBAN).
Extension for Opis JSON Schema
Yii2 INN validator
Простой валидатор для идентификаторов российских физических и юридических лиц. Проверяет только checksum.
This package validates the Russian Tax Identification Number of Legal Persons, Individual Entrepreneurs and Individual Person
统计信息
- 总下载量: 17.26k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 14
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2019-08-26