stormpat / container-validator
货柜代码验证器
dev-master
2014-09-26 06:26 UTC
Requires
- php: >=5.3.0
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致敬