rocketfellows/iso-standard-3166-validation

v1.0.0 2023-01-11 18:09 UTC

This package is not auto-updated.

Last update: 2024-09-20 00:30:33 UTC


README

Code Coverage Badge

该组件包含多个国家代码验证器。验证的国家代码格式

  • alpha2
  • alpha3
  • 全名
  • 数字代码

它还可以验证批量国家代码值,并返回无效代码数组(或全名)。

安装

composer require rocketfellows/iso-standard-3166-validation

验证alpha2代码使用示例

注意:验证不区分大小写。

静态使用

有效的alpha2国家代码

Alpha2::create()->isValid('DE');
Alpha2::create()->isValid('de');
Alpha2::create()->isValid('De');
Alpha2::create()->isValid('dE');

返回

true
true
true
true

无效的alpha2国家代码

Alpha2::create()->isValid('OO');

返回

false

创建新实例使用示例

有效的alpha2国家代码

$validator = new Alpha2();
$validator->isValid('DE')

返回

true

无效的alpha2国家代码

$validator = new Alpha2();
$validator->isValid('OO')

返回

false

验证alpha3代码使用示例

注意:验证不区分大小写。

静态使用

有效的alpha3国家代码

Alpha3::create()->isValid('GBR')
Alpha3::create()->isValid('gbr')
Alpha3::create()->isValid('Gbr')

返回

true
true
true

无效的alpha3国家代码

Alpha3::create()->isValid('FOO');

返回

false

创建新实例使用示例

有效的alpha3国家代码

$validator = new Alpha3();
$validator->isValid('GBR')

返回

true

无效的alpha3国家代码

$validator = new Alpha3();
$validator->isValid('FOO')

返回

false

验证数字代码使用示例

静态使用

有效的国家数字代码

NumericCode::create()->isValid('646');

返回

true

无效的国家数字代码

NumericCode::create()->isValid('000');

返回

false

创建新实例使用示例

有效的国家数字代码

$validator = new NumericCode();
$validator->isValid('646')

返回

true

无效的国家数字代码

$validator = new NumericCode();
$validator->isValid('000')

返回

false

验证国家名称使用示例

注意:验证区分大小写。

静态使用

有效的国家名称

Name::create()->isValid('Northern Mariana Islands');

返回

true

无效的国家名称

Name::create()->isValid('foo');

返回

false

创建新实例使用示例

有效的国家名称

$validator = new Name();
$validator->isValid('Northern Mariana Islands')

返回

true

无效的国家名称

$validator = new Name();
$validator->isValid('foo')

返回

false

验证alpha2批量代码使用示例

注意:验证不区分大小写。

静态使用

验证

Alpha2Batch::create()->getInvalidValues(['DE', 'HH', 'BY', 'ZZ', 'GB',]);

返回

['HH', 'ZZ']

创建新实例使用示例

验证

$validator = new Alpha2Batch(Alpha2::create()); // possible inject other Alpha2 validator implementation
$validator->getInvalidValues(['DE', 'HH', 'BY', 'ZZ', 'GB',]);

返回

['HH', 'ZZ']

验证alpha3批量代码使用示例

注意:验证不区分大小写。

静态使用

验证

Alpha3Batch::create()->getInvalidValues(['GBR', 'HH', 'RUS', 'ZZ', 'DEU',]);

返回

['HH', 'ZZ']

创建新实例使用示例

验证

$validator = new Alpha3Batch(Alpha3::create()); // possible inject other Alpha3 validator implementation
$validator->getInvalidValues(['GBR', 'HH', 'RUS', 'ZZ', 'DEU',]);

返回

['HH', 'ZZ']

验证数字代码批量使用示例

静态使用

验证

NumericCodeBatch::create()->getInvalidValues(['882', '000', '674', '111', '678',]);

返回

['000', '111']

创建新实例使用示例

验证

$validator = new NumericCodeBatch(NumericCode::create()); // possible inject other NumericCode validator implementation
$validator->getInvalidValues(['882', '000', '674', '111', '678',]);

返回

['000', '111']

验证国家名称批量使用示例

注意:验证区分大小写。

静态使用

验证

NameBatch::create()->getInvalidValues(['Samoa', 'foo', 'Sao Tome and Principe', 'bar', 'Saudi Arabia',]);

返回

['foo', 'bar']

创建新实例使用示例

验证

$validator = new NameBatch(Name::create()); // possible inject other Name validator implementation
$validator->getInvalidValues(['Samoa', 'foo', 'Sao Tome and Principe', 'bar', 'Saudi Arabia',]);

返回

['foo', 'bar']

贡献

欢迎提交拉取请求。如果有重大更改,请先创建一个问题进行讨论。

请确保根据需要更新测试。