elgigi / iban
用于操作各国IBAN和BBAN的库
Requires
- php: ^8.1
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-18 16:23:11 UTC
README
PHP库,用于操作各国IBAN和BBAN,包括验证、解析、JSON表示...
安装
您可以使用 Composer 安装此库
composer require elgigi/iban
用法
解析
您可以使用 Iban::parse()
方法解析IBAN
$iban = Iban::parse('FR14 2004 1010 0505 0001 3M02 606');
或使用 Bban::parse()
方法解析BBAN
$bban = Bban::parse('2004 1010 0505 0001 3M02 606', Country::FR);
IBAN和BBAN
Iban对象由两部分组成
\ElGigi\Iban\Bban
对象(BBAN的表示)- 校验位
Bban
对象由多个属性组成
这两个对象都有 format()
方法,以获取对象的字符串表示形式。此方法接受一个布尔参数以获得“紧凑”表示(不带空格)。
JSON
对于IBAN,JSON序列化给出IBAN的字符串表示形式
"FR14 2004 1010 0505 0001 3M02 606"
对于BBAN,它有些不同,因为我们需要国家来重建BBAN对象,所以JSON表示形式是
{ "country": "FR", "bban": "2004 1010 0505 0001 3M02 606" }
然后可以简单地使用类的 parse()
方法再次构建对象。
验证
IBAN验证
调用 Iban::isValid():bool
方法以确定IBAN是否有效。
或使用 IbanValidation::validate(): bool
静态方法验证IBAN对象或字符串表示形式。
此外,您还可以从BBAN构建一个IBAN,而不需要校验位,库会猜测它们,例如
$iban = new Iban(Bban::parse('2004 1010 0505 0001 3M02 606', Country::FR)); print $iban->format(); // Output: 'FR14 2004 1010 0505 0001 3M02 606'
BBAN验证
取决于银行和国家,BBAN验证可以通过 Bban::isValid()
方法获得
或使用 BbanValidation::validate(): bool
静态方法验证BBAN对象或字符串表示形式。
在银行没有对BBAN进行控制的情况下,该方法总是返回TRUE。
国家
IBAN与国家相关联。国家由 Country
枚举表示。列出所有支持IBAN的国家。
您还可以使用辅助静态方法
Country::sepaMembers(): array
:SEPA成员国家列表Country::from(string $iso): Country
:从ISO代码获取国家枚举值
或使用具有国家值的方法(例如FR)
Country::FR->isSepaMember(): bool
:国家是SEPA成员吗?Country::FR->getCurrency(): Currency
:国家的主要货币Country::FR->getLanguage(): Language|Language[]
:国家的语言(们)Country::FR->getLocale(): string|string[]
:国家的区域设置(们)Country::FR->getIbanRegex(): string
:国家的IBAN正则表达式
语言
Language
枚举表示国家的语言。
要找到说某种语言的国家,您可以使用辅助方法
Language::fr->getCountries(): Country[]
货币
Currency
枚举表示国家的货币。
要找到具有货币的国家,您可以使用辅助方法
Currency::fr->getCountries(): Country[]