stormpat/container-validator

货柜代码验证器

dev-master 2014-09-26 06:26 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:41:36 UTC


README

使用货柜代码验证器,您可以检查一个货柜是否有有效的ISO 6346代码,您还可以计算货柜校验位,获取货柜所有者代码、分组代码并创建新的货柜校验位。

这是从网上找到的一段代码(MIT许可)的分支。我对某些部分进行了修改,并使其可以与Composer一起工作。

安装

使用Composer安装,或克隆仓库到您的项目中。

使用Composer,只需将其添加到您的composer.json中

"require": {
    "stormpat/container-validator": "dev-master"
}

将Composer自动加载添加到您的引导中。

require_once __DIR__ . '/vendor/autoload.php';

文档

验证货柜ISO代码(TEXU3070079 = 有效,TEXU3070070 != 有效)

$validator = new Validator\Validator;
$validator->isValid('TEXU3070079'); // true
$validator->isValid('TEXU3070070'); // false

要从代码中获取不同的段,您可以这样做

$container = $validator->validate('TEXU3070079');
print_r($container); // Array ( [0] => TEXU3070079 [1] => TEX [2] => U [3] => 307007 [4] => 9 )

其中

  0 => string 'TEXU3070079' // The code being validated
  1 => string 'TEX' // The containers ownercode
  2 => string 'U' // The containers group code
  3 => string '307007' // The containers registration digit
  4 => string '9' // The containers check digit

当货柜代码无效时如何获取错误消息

$validator->validate('TEXU3070070');
$validator->getErrorMessages(); // The check digit does not match

$validator->validate(12345678910);
$validator->getErrorMessages(); // The container number must be a string

$validator->validate('C3P0');
$validator->getErrorMessages(); // The container number is invalid

访问有关货柜的信息

$validator->validate('TEXU3070070');
echo $validator->getOwnerCode(); // TEX
echo $validator->getProductGroupCode(); // U
echo $validator->getRegistrationDigit(); // 307007
echo $validator->getCheckDigit(); // 9

为没有校验位的货柜创建校验位

$validator = new Validator\Validator;
$validator->createCheckDigit('TEXU307007'); // 9

生成货柜编号

// $validator->generate( owner-code, product-group-code, number-start, number-end );
$validator = new Validator\Validator;
$validator->generate('TEX','U',1, 100 ));

注意

  • Sameer Shemna编写了一个JavaScript端口,可以在这里找到

许可证

MIT许可证 (MIT)

版权所有 © 2014 Patrik Storm

特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人无限制地处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许获得软件的人进行此类操作,前提是以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“现状”提供,不提供任何形式的保证,无论是明示的、暗示的还是与特定目的相关的,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他方式,无论是源于、因之或与此软件或其使用或其他交易有关。

致谢

向原作者gedex.adc致敬