pmigut/gtin-validator

该库是一组用于GTIN验证的静态方法。如果给定字符串是公开可用的GTIN-8、GTIN-12、GTIN-13或GTIN-14代码,则方法返回true。检查包括格式、校验位和前缀。

1.2.2 2023-06-09 09:00 UTC

This package is auto-updated.

Last update: 2024-09-09 11:51:09 UTC


README

该库是一组用于GTIN验证的静态方法。

该库非常适合快速验证许多代码,无需为每个代码实例化新对象。简单返回truefalse,失败时不会提供额外详细信息。只有贸易产品代码返回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