ilexn/hkid-check-digit
最新稳定版本:6.0.0
Composer 安装命令:
composer require ilexn/hkid-check-digit
包简介
HKID digit check
关键字:
README 文档
README
Used to validation the format and check digit calculation for HKID.
__ __ __ ___ __ _______ ______ __ __ _______ ______ __ ___
| | | | | |/ / | | | \ / || | | | | ____| / || |/ /
| |__| | | ' / | | | .--. | | ,----'| |__| | | |__ | ,----'| ' /
| __ | | < | | | | | | | | | __ | | __| | | | <
| | | | | . \ | | | '--' | | `----.| | | | | |____ | `----.| . \
|__| |__| |__|\__\ |__| |_______/ \______||__| |__| |_______| \______||__|\__\
| Tag | PHP |
|---|---|
| 1.x | |
| 2.x | php>=7.1 |
| 3.x | php>=7.4 |
| 4.x | php>=8.0 |
| 5.x | php>=8.1 |
| 6.x | php>=8.4 |
Installation
composer require ilexn/hkid-check-digit
Upgrade from 5.x to 6.x
The \Ilex\Validation\HkidValidation\Enum\Reason::PatternError changed to \Ilex\Validation\HkidValidation\Enum\Reason::PatternError
This has the incorrect spelling in the previous version.
Upgrade from 4.x to 5.x
The \Ilex\Validation\HkidValidation\Reason\ReasonInterface changed to Enum \Ilex\Validation\HkidValidation\Enum\Reason
//4.x switch ($hkid->getReason()){ case \Ilex\Validation\HkidValidation\Reason\ReasonInterface::OK: echo('correct'); echo($hkid->format()); break; case \Ilex\Validation\HkidValidation\Reason\ReasonInterface::PATTEN_ERROR: echo('Pattern not match'); break; case \Ilex\Validation\HkidValidation\Reason\ReasonInterface::DIGIT_ERROR: echo('Digit not match'); break; } //5.x switch ($hkid->getReason()){ case \Ilex\Validation\HkidValidation\Enum\Reason::Ok: echo('correct'); echo($hkid->format()); break; case \Ilex\Validation\HkidValidation\Enum\Reason::PatternError: echo('Pattern not match'); break; case \Ilex\Validation\HkidValidation\Enum\Reason::DigitError: echo('Digit not match'); break; }
Upgrade from 2.x to 3.x
All the checking now return \Ilex\Validation\HkidValidation\HkId object, not bool
<?php use Ilex\Validation\HkidValidation\Helper; require_once 'vendor/autoload.php'; $a = Helper::checkByString($s); //2.x: $a is bool //>=3.x $a->isValid(); //bool $a->PatternError(); //bool $a->isDigitError(); //bool echo($a->format()); // print the formated HKID. echo($a->getReason()); //also can get back each parts echo($a->getPart1()); echo($a->getPart2()); echo($a->getPart3());
Usage example
Quick helper - check by each part
<?php use Ilex\Validation\HkidValidation\Helper; require_once 'vendor/autoload.php'; //CA182361(1) $p1 = 'CA'; $p2 = '182361'; $p3 = '1'; $a = Helper::checkByParts($p1, $p2, $p3); if ($a->isValid()) { echo ('correct'); echo $a->format(); //CA182361(1) echo (string) $a; //CA182361(1) } else { echo ('wrong'); }
Quick helper - check by string
<?php use Ilex\Validation\HkidValidation\Enum\Reason;use Ilex\Validation\HkidValidation\Helper; require_once 'vendor/autoload.php'; $s = 'CA182361(1)'; $hkid = Helper::checkByString($s); switch ($hkid->getReason()){ case \Ilex\Validation\HkidValidation\Enum\Reason::Ok: echo('correct'); echo($hkid->format()); break; case \Ilex\Validation\HkidValidation\Enum\Reason::PatternError: echo('Pattern not match'); break; case \Ilex\Validation\HkidValidation\Enum\Reason::DigitError: echo('Digit not match'); break;
Normal
<?php use Ilex\Validation\HkidValidation\HkidDigitCheck; require_once 'vendor/autoload.php'; $p1 = 'CA'; $p2 = '182361'; $p3 = '1'; $s = 'CA182361(1)'; $c = new HkidDigitCheck(); $hkid = $c->checkParts($p1,$p2,$p3); if ($hkid->isValid()) { echo ('correct'); echo $hkid->format(); } else { echo ('wrong'); if ($hkid->PatternError()) { echo('Pattern not match'); } if ($hkid->isDigitError()) { echo('Digit not match'); } } $hkid = $c->checkString($s); if ($hkid->isValid()) { echo ('correct'); echo $hkid->format(); } else { echo ('wrong'); }
统计信息
- 总下载量: 948
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-12-04