lytrax / afm
希腊AFM(TIN)验证器和生成器
1.0.0
2020-01-02 23:21 UTC
Requires
- php: >=7.2.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-07 08:08:44 UTC
README
验证和生成希腊TIN(税号)/ AFM(Αριθμός Φορολογικού Μητρώου)。生成函数可以创建有效或无效的数字,包括旧格式、个人、法人实体和重复容差位控制参数。
在线演示和展示
https://lytrax.io/blog/projects/greek-tin-validator-generator
安装
composer require lytrax/afm
用法
使用一个或多个函数
use function Lytrax\AFM\validateAFM; use function Lytrax\AFM\generateAFM; use function Lytrax\AFM\generateValidAFM; use function Lytrax\AFM\generateInvalidAFM;
验证一个数字
validateAFM('090000045'); bool(true) validateAFM('123456789'); bool(false)
生成一个有效数字
generateValidAFM(); string(9) "731385437"
生成一个无效数字
generateInvalidAFM(); string(9) "853003357"
API
validateAFM ($afm, $params = [])
$afm: string
- 要检查的数字$params: array (optional)
- 可选的命名参数关联数组$params['extendedResult']: boolean = false
- 返回一个boolean
或array
- 返回值:
boolean
或array
(关联数组,包含valid: boolean
和error: string ('length' 或 'nan' 或 'zero' 或 'invalid')
)
示例
validateAFM('ab1234', ['extendedResult' => true]); array(2) { ["valid"]=> bool(false) ["error"]=> string(6) "length" }
generateAFM ($params = [])
$params: array (optional)
- 可选的命名参数关联数组$params['forceFirstDigit']: null|int (optional)
- 如果指定,则覆盖所有 pre99、legalEntity 和 individual$params['pre99']: boolean = false
- 1999年1月1日之前的AFM(以0开头),(如果为true,则覆盖 legalEntity 和 individual)$params['individual']: boolean = false
- 自然人,(以1-4开头)$params['legalEntity']: boolean = false
- 法人实体(以7-9开头)$params['repeatTolerance']: null|int (optional)
- 重复容差的最大数字(0表示无重复,未指定表示不检查)$params['valid']: boolean = true
- 生成有效或无效的AFM- 返回值:
string
- 一个有效或无效的9位AFM数字
示例
generateAFM([ 'forceFirstDigit' => 3, 'repeatTolerance' => 1, 'valid' => true ]); string(9) "335151580"
generateValidAFM - 与 generateAFM
相同,但将 $params['valid']
强制和覆盖为 true
- 返回值:
string
- 一个有效的9位AFM数字
示例
generateValidAFM(['pre99' => true]); string(9) "070825250"
generateInvalidAFM - 与 generateAFM
相同,但将 $params['valid']
强制和覆盖为 false
- 返回值:
string
- 一个无效的9位AFM数字
示例
generateInvalidAFM(['legalEntity' => true]); string(9) "877577341"
测试
克隆此存储库,安装包并运行PHPUnit
git clone https://github.com/clytras/afm-php.git && cd afm-php
composer install
./vendor/bin/phpunit --testdox
运行演示
php ./demo/index.php
变更日志
许可证
MIT许可证 - 详细信息请参阅 LICENSE 文件