Via composer: composer require rikudou/iban
There are multiple IBAN implementations:
<?php
use Rikudou\Iban\Iban\IBAN;
$iban = new IBAN('CZ5530300000001325090010');
echo $iban->asString(); // prints the iban
echo strval($iban); // the same as above
<?php
use Rikudou\Iban\Iban\IBAN;
$iban = new IBAN('CZ5530300000001325090010');
$validator = $iban->getValidator(); // returns instance of GenericIbanValidator
if (!$validator->isValid()) {
// do something
}
Construct IBAN from Czech account number and bank code
<?php
use Rikudou\Iban\Iban\CzechIbanAdapter;
$iban = new CzechIbanAdapter('1325090010', '3030');
echo $iban->asString(); // prints CZ5530300000001325090010
<?php
use Rikudou\Iban\Iban\CzechIbanAdapter;
$iban = new CzechIbanAdapter('1325090010', '3030');
// returns an instance of CompoundValidator which contains
// CzechIbanValidator and GenericIbanValidator
$validator = $iban->getValidator();
if (!$validator->isValid()) {
// do something
}
Construct IBAN from Slovak account number and bank code
<?php
use Rikudou\Iban\Iban\SlovakIbanAdapter;
$iban = new SlovakIbanAdapter('1325090010', '0900');
echo $iban->asString(); // prints SK5009000000001325090010
<?php
use Rikudou\Iban\Iban\SlovakIbanAdapter;
$iban = new SlovakIbanAdapter('1325090010', '0900');
// currently returns just an instance of GenericIbanValidator
$validator = $iban->getValidator();
if (!$validator->isValid()) {
// do something
}
<?php
use Rikudou\Iban\Iban\HungarianIbanAdapter;
$iban = new HungarianIbanAdapter('11773016-11111018');
echo $iban->asString(); // prints HU42117730161111101800000000
<?php
use Rikudou\Iban\Iban\HungarianIbanAdapter;
$iban = new HungarianIbanAdapter('11773016-11111018');
// returns an instance of CompoundValidator which contains
// HungarianIbanValidator and GenericIbanValidator
$validator = $iban->getValidator();
if (!$validator->isValid()) {
// do something
}