ixnode / php-iban
PHP IBAN - 该库提供账号号码、银行代码和IBAN的转换器。
0.1.30
2024-06-04 20:15 UTC
Requires
- php: ^8.2
- ext-bcmath: *
- ext-curl: *
- ext-gd: *
- adhocore/cli: ^v1.0.0
- ixnode/php-cli-image: ^0.1
- ixnode/php-exception: ^0.1
- ixnode/php-timezone: ^0.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.13
- ixnode/bash-version-manager: ^0.1
- jetbrains/phpstorm-attributes: ^1.0
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
- povils/phpmnd: ^3.0
- rector/rector: ^0.15.1
README
此库提供账号号码、银行代码和IBAN的转换器。
1. 使用方法
一些使用示例。
1.1 IBAN解析器示例
use Ixnode\PhpIban\Iban; use Ixnode\PhpIban\Validator; ... $iban = 'DE02120300000000202051'; $validator = new Validator(new Iban($iban)); print $validator->isValid() ? 'YES' : 'NO'; // (string) YES print $validator->getAccount()->getAccountNumber(); // (string) 0000202051 print $validator->getIban()->getIbanFormatted(); // (string) DE02 1203 0000 0000 2020 51 etc.
1.2 账号号码和银行代码转换器示例(AT, CH, DE, LI等)
use Ixnode\PhpIban\Account; ... $accountNumber = '0000202051'; $bankCode = '12030000'; $countryCode = 'DE'; $account = new Account($accountNumber, $bankCode, $countryCode); print $account->getIban(); // (string) DE02120300000000202051 print $account->getIbanFormatted(); // (string) DE02 1203 0000 0000 2020 51
1.3 账号号码和银行代码转换器示例(FR)
use Ixnode\PhpIban\Account; use Ixnode\PhpIban\Constant\IbanFormats; ... $accountNumber = '00020053701'; $bankCode = '30027'; $countryCode = 'FR'; $branchCode = '17533'; $nationalCheckDigits = '59'; $account = new Account($accountNumber, $bankCode, $countryCode, [ IbanFormat::KEY_BRANCH_CODE => $branchCode, IbanFormat::KEY_NATIONAL_CHECK_DIGITS => $nationalCheckDigits, ]); print $account->getIban(); // (string) FR7630027175330002005370159 print $account->getIbanFormatted(); // (string) FR76 3002 7175 3300 0200 5370 159
2. 支持的国家
已检查的国家和添加的测试(其他国家也可能有效)
- AD(安道尔)
- AE(阿拉伯联合酋长国)
- AL(阿尔巴尼亚)
- AT(奥地利)
- AZ(阿塞拜疆)
- BA(波斯尼亚和黑塞哥维那)
- BE(比利时)
- BG(保加利亚)
- BH(巴林)
- BR(巴西)
- BY(白俄罗斯)
- CH(瑞士)
- CR(哥斯达黎加)
- CY(塞浦路斯)
- CZ(捷克)
- DE(德国)
- DK(丹麦)
- DO(多米尼加共和国)
- EE(爱沙尼亚)
- EG(埃及)
- ES(西班牙)
- FI(芬兰)
- FO(法罗群岛)
- FR(法国)
- GB(大不列颠及北爱尔兰联合王国)
- GE(格鲁吉亚)
- GI(直布罗陀)
- GL(格陵兰)
- GR(希腊)
- GT(危地马拉)
- HR(克罗地亚)
- HU(匈牙利)
- IE(爱尔兰)
- IL(以色列)
- IQ(伊拉克)
- IS(冰岛)
- IT(意大利)
- JO(约旦)
- KW(科威特)
- KZ(哈萨克斯坦)
- LB(黎巴嫩)
- LC(圣卢西亚)
- LI(列支敦士登)
- LT(立陶宛)
- LU(卢森堡)
- LV(拉脱维亚)
- MC(摩纳哥)
- ME(黑山)
- MD(摩尔多瓦)
- MK(北马其顿)
- MR(毛里塔尼亚)
- MT(马耳他)
- MU(毛里求斯)
- NL(荷兰)
- NO(挪威)
- PK(巴基斯坦)
- PL(波兰)
- PS(巴勒斯坦)
- PT(葡萄牙)
- QA(卡塔尔)
- RO(罗马尼亚)
- RS(塞尔维亚)
- SA(沙特阿拉伯)
- SC(塞舌尔)
- SE(瑞典)
- SI(斯洛文尼亚)
- SK(斯洛伐克)
- SM(圣马力诺)
- ST(圣多美和普林西比)
- SV(萨尔瓦多)
- TN(突尼斯)
- TL(东帝汶)
- TR(土耳其)
- VG(英属维尔京群岛)
- UA(乌克兰)
- XK(科索沃)
所有添加的国家可在此处找到:Ixnode\PhpIban\Constant\IbanFormats::IBAN_FORMATS
查看https://en.wikipedia.org/wiki/International_Bank_Account_Number#IBAN_formats_by_country以添加更多国家。
3. 安装
composer require ixnode/php-iban
vendor/bin/php-iban -V
0.1.0 (2023-09-01 21:09:52) - Björn Hempel <bjoern@hempel.li>
4. 命令行工具
4.1 检查IBAN号码
用于快速检查给定的IBAN号码。
bin/console iban:validate MU17BOMM0101101030300200000MUR
或在你自己的composer项目中
bin/console iban:validate MU17BOMM0101101030300200000MUR
Given IBAN: MU17BOMM0101101030300200000MUR Parsed IBAN ----------- Valid: YES Last error: N/A IBAN: MU17BOMM0101101030300200000MUR IBAN: MU17 BOMM 0101 1010 3030 0200 000M UR Checksum: 17 Format: MUkkbbbbbbsscccccccccccc000mmm Parts: country-code=MU, iban-check-digits=17, national-bank-code=BOMM01, branch-code=01, account-number=101030300200, number=000, currency-code=MUR Account ------- Country: MU (Mauritius) Checksum: 17 Balance cccount number: N/A National bank code: BOMM01 Account number: 101030300200 National identification number: N/A Currency code: MUR Owner account number: N/A Account number prefix: N/A Bic bank code: N/A Branch code: 01 Account type: N/A National check digits: N/A IBAN (from account): MU17BOMM0101101030300200000MUR IBAN (from account): MU17 BOMM 0101 1010 3030 0200 000M U
4.2 生成IBAN号码
用于快速生成IBAN号码。
bin/console account-number:validate 0000202051 12030000
或在你自己的composer项目中
vendor/bin/php-iban account-number:validate 0000202051 12030000
Given account number: 0000202051 Given bank code: 12030000 Given country code: DE Parsed IBAN ----------- IBAN: DE02120300000000202051 Valid: YES Last error: N/A Country: DE Checksum: 02 Account number: 0000202051 Bank number: 12030000
5. 库开发
git clone git@github.com:ixnode/php-iban.git && cd php-iban
composer install
composer test
6. 许可证
此库采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。