pmigut / gtin-validator
该库是一组用于GTIN验证的静态方法。如果给定字符串是公开可用的GTIN-8、GTIN-12、GTIN-13或GTIN-14代码,则方法返回true。检查包括格式、校验位和前缀。
1.2.2
2023-06-09 09:00 UTC
Requires
- php: >=7.1
- ext-ctype: *
Requires (Dev)
- phpunit/phpunit: ^7.4|^9.5
This package is auto-updated.
Last update: 2024-09-09 11:51:09 UTC
README
该库是一组用于GTIN验证的静态方法。
该库非常适合快速验证许多代码,无需为每个代码实例化新对象。简单返回true
或false
,失败时不会提供额外详细信息。只有贸易产品代码返回true
,限制或特殊用途前缀的代码返回false
。
支持的代码
- GTIN-8(前身为EAN-8)
- GTIN-12(前身为UPC)
- GTIN-13(前身为EAN-13)
- GTIN-14
执行的检查
- 格式
- 校验位
- GS1前缀
实现基于GS1通用规范版本18,2018年1月。前缀列表最后更新于2023年6月9日。
安装
通过Composer
$ composer require pmigut/gtin-validator
通过Git
$ git clone git@github.com:pmigut/gtin-validator.git
示例
基本用法
<?php use Pmigut\GtinValidator\Gtin8; var_dump(Gtin8::isValid('12312312')); // Output: false
严格类型
isValid
方法期望string
类型的参数。如果声明了strict_types=1
,则isValid
可能会抛出TypeError
。
<?php declare(strict_types=1); use Pmigut\GtinValidator\Gtin8; var_dump(Gtin8::isValid(12312312)); // Output: PHP Fatal error: Uncaught TypeError: Argument 1 passed to // Pmigut\GtinValidator\Gtin8::isValid() must be of the type string, integer given
前导零
代码按原样验证,不添加前导零。
<?php use Pmigut\GtinValidator\Gtin13; var_dump(Gtin13::isValid('0000906332847')); // Output: true var_dump(Gtin13::isValid('906332847')); // Output: false
测试
$ composer test
许可证
该库遵循MIT许可证,有关详细信息,请参阅LICENSE。