1. Go to this page and download the library: Download slackero/php-iban library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
slackero / php-iban example snippets
. your code utilizing php-iban
// ... your code utilising IBAN functions...
// Verify an IBAN number.
// An optional second argument specifies $machine_format_only (default is false)
// If true, the function will not tolerate unclean inputs
// (eg. spaces, dashes, leading 'IBAN ' or 'IIBAN ', lower case)
// If false (default), input can be in either:
// - printed ('IIBAN xx xx xx...' or 'IBAN xx xx xx...'); or
// - machine ('xxxxx')
// ... string formats.
// Returns true or false.
if(!verify_iban($iban,$machine_format_only=false)) {
// ...
}
// Check the checksum of an IBAN - code modified from Validate_Finance PEAR class
if(!iban_verify_checksum($iban)) {
// ...
}
// Suggest what the user really meant in the case of transcription errors
$suggestions = iban_mistranscription_suggestions($bad_iban);
if(count($suggestions) == 1) {
echo "You really meant " . $suggestions[0] . ", right?\n";
}
// Find the correct checksum for an IBAN
$correct_checksum = iban_find_checksum($iban);
// Set the correct checksum for an IBAN
$fixed_iban = iban_set_checksum($iban);
// Verify the pre-IBAN era, BBAN-level national checksum for those countries that
// have such a system and we have implemented.
// (Returns '' if unimplemented, true or false)
$result = iban_verify_nationalchecksum($iban);
if($result == '') {
echo "National checksum system does not exist or remains unimplemented for the country of IBAN '$iban'.\n";
}
elseif($result == true) {
echo "IBAN '$iban' passes the national checksum algorithm for its country.\n";
}
else {
echo "IBAN '$iban' FAILS the national checksum algorithm for its country.\n";
}
// Set the pre-IBAN era, BBAN-level national checksum for those countries that
// have such a system, where that system results in a dedicated checksum
// substring, and that we have implemented.
// (Returns '' if unimplemented, or the corrected string)
// (NOTE: On success, the function also subsequently recalculates the IBAN-level checksum)
$national_checksum_algorithm_valid_iban = iban_set_nationalchecksum($iban);
// Determine, but do not set, the pre-IBAN era, BBAN-level national checksum
// for those countries that have such a system, where that system results in
// a dedicated checksum substring, and that we have implemented.
// (Returns '' if unimplemented, or the expected national checksum substring)
$expected_national_checksum = iban_find_nationalchecksum($iban);
// Convert an IBAN to machine format. To do this, we
// remove IBAN from the start, if present, and remove
// non basic roman letter / digit characters
$machine_iban = iban_to_machine_format($iban);
// Convert an IBAN to human format. To do this, we
// add a space every four characters.
$human_iban = iban_to_human_format($iban);
// Convert an IBAN to obfuscated format for relative
// identification. To do this, we replace all but the
// leading country code and final four characters with
// asterisks.
$obfuscated_iban = iban_to_obfuscated_format($iban);
// Get the name of an IBAN country
$country_name = iban_country_get_country_name($iban_country);
// Get the domestic example for an IBAN country
$country_domestic_example = iban_country_get_domestic_example($iban_country);
// Get the BBAN example for an IBAN country
$country_bban_example = iban_country_get_bban_example($iban_country);
// Get the BBAN format (in SWIFT format) for an IBAN country
$country_bban_format_as_swift = iban_country_get_bban_format_swift($iban_country);
// Get the BBAN format (as a regular expression) for an IBAN country
$country_bban_format_as_regex = iban_country_get_bban_format_regex($iban_country);
// Get the BBAN length for an IBAN country
$country_bban_length = iban_country_get_bban_length($iban_country);
// Get the IBAN example for an IBAN country
$country_iban_example = iban_country_get_iban_example($iban_country);
// Get the IBAN length for an IBAN country
$country_iban_length = iban_country_get_iban_length($iban_country);
// Get the IBAN format (in SWIFT format) for an IBAN country
$country_iban_format_as_swift = iban_country_get_iban_format_swift ($iban_country);
// Get the IBAN format (as a regular expression) for an IBAN country
$country_iban_format_as_regex = iban_country_get_iban_format_regex($iban_country);
// Determine whether an IBAN country is a member of SEPA (Single Euro Payments Area)
if(!iban_country_is_sepa($iban_country)) {
// ... do something xenophobic ...
}
// Get the bank ID start offset for an IBAN country
$country_bankid_start_offset = iban_country_get_bankid_start_offset($iban_country);
// Get the bank ID stop offset for an IBAN country
$country_bankid_stop_offset = iban_country_get_bankid_stop_offset($iban_country);
// Get the branch ID start offset for an IBAN country
$country_branchid_start_offset = iban_country_get_branchid_start_offset($iban_country);
// Get the branch ID stop offset for an IBAN country
$country_branchid_stop_offset = iban_country_get_branchid_stop_offset($iban_country);
// Get the registry edition for an IBAN country (note: IIBAN country 'AA' returns 'N/A')
$country_registry_edition = iban_country_get_registry_edition($iban_country);
// Determine whether an IBAN country is an official, SWIFT issued country record
if(!iban_country_get_country_swift_official($iban_country)) {
// ... do something against decentralization ...
}
// Get the IANA code for an IBAN country
$country_iana = iban_country_get_iana($iban_country);
// Get the ISO3166-1 alpha-2 code for an IBAN country
$country_iso3166 = iban_country_get_iso3166($iban_country);
// Get the parent registrar IBAN country of an IBAN country
// (Returns '' in the normal case that the country is independently registered)
$registrar_country = iban_country_get_parent_registrar($iban_country);
if($registrar_country=='') {
echo "The mighty nation of '$iban_country' stands strong and proud...\n";
echo " ... with its own heirarchy of bureaucrats!\n";
}
else {
echo "It has been foretold that the downtrodden natives of '$iban_country' will one day\n";
echo "rise up and throw off the shackles of the evil '$registrar_country' oppressors!\n";
}
// Get the official currency of an IBAN country as an ISO4217 alpha code
// (Returns '' in the Internet (IIBAN) case, ie. no official currency)
$official_currency = iban_country_get_currency_iso4217($iban_country);
if($official_currency == '') {
echo "There is no official currency for the IBAN country '$iban_country'.\n";
}
// Get the URL of an IBAN country's central bank
// (Note: Returns '' if there is no central bank. Also, note that
// sometimes multiple countries share one central bank)
$central_bank_url = iban_country_get_central_bank_url($iban_country);
// Get the name of an IBAN country's central bank
// (Note: Returns '' if there is no central bank. Also, note that
// sometimes multiple countries share one central bank)
$central_bank_name = iban_country_get_central_bank_name($iban_country);
// Get the membership type of the country
// There are four types of memberships:
// * EU-Member States (eu_member)
// * EFTA-Member States (efta_member)
// * Other Memberships, which have monetary agreements with the EU (other_member)
// * Non-Members, which don't belong to the EU or have agreements (non_member)
$country_membership = iban_country_get_membership($iban_country);
// Get if the country is a eu member state
// (Note: Returns true, if member state; false otherwise)
$country_membership = iban_country_get_is_eu_member($iban_country);
// Get an array of all the parts from an IBAN
$iban_parts = iban_get_parts($iban);
// Get the country part from an IBAN
$iban_country = iban_get_country_part($iban);
// Get the BBAN part from an IBAN
$bban = iban_get_bban_part($iban);
// Get the Bank ID (institution code) from an IBAN
$bank = iban_get_bank_part($iban);
// Get the Branch ID (sort code) from an IBAN
// (NOTE: only available for some countries)
$sortcode = iban_get_branch_part($iban);
// Get the (branch-local) account ID from an IBAN
// (NOTE: only available for some countries)
$account = iban_get_account_part($iban);
// Get the checksum part from an IBAN
$checksum = iban_get_checksum_part($iban);
// Get the national checksum part from an IBAN (if it exists)
$checksum = iban_get_nationalchecksum_part($iban);
// ... your code utilising object oriented PHP IBAN functions...
// Example instantiation
$iban = 'AZ12345678901234'
$myIban = new IBAN($iban);
// Verify an IBAN number.
// Tolerates spaces, prefixes "IBAN ...", dashes, lowercase input, etc.
// Returns true or false.
if(!$myIban->Verify()) {
// ...
}
// Verify an IBAN number in machine format only.
// Does not tolerate lowercase input, separators, whitespace or prefixes.
// Returns true or false.
if(!$myIban->VerifyMachineFormatOnly()) {
// ...
}
// Check the checksum of an IBAN - code modified from Validate_Finance PEAR class
if(!$myIban->VerifyChecksum()) {
// ...
}
// Suggest what the user really meant in the case of mistranscription errors
$suggestions = $badIban->MistranscriptionSuggestions();
if(count($suggestions)==1) {
echo "You really meant " . $suggestions[0] . ", right?\n";
}
// Find the correct checksum for an IBAN
$correct_checksum = $myIban->FindChecksum();
// Set the correct checksum for an IBAN
$fixed_iban = $myIban->SetChecksum()
// Verify the pre-IBAN era, BBAN-level national checksum for those countries that
// have such a system and we have implemented.
// (Returns '' if unimplemented, true or false)
$result = $myIban->VerifyNationalChecksum();
if($result == '') {
echo "National checksum system does not exist or remains unimplemented for this IBAN's country.\n";
}
elseif($result == true) {
echo "IBAN passes the national checksum algorithm for its country.\n";
}
else {
echo "IBAN FAILS the national checksum algorithm for its country.\n";
}
// Set the pre-IBAN era, BBAN-level national checksum for those countries that
// have such a system, where that system results in a dedicated checksum
// substring, and that we have implemented.
// (Returns '' if unimplemented, or the corrected string)
// (NOTE: On success, the function also subsequently recalculates the IBAN-level checksum)
$myIban->SetNationalChecksum();
// Determine, but do not set, the pre-IBAN era, BBAN-level national checksum
// for those countries that have such a system, where that system results in
// a dedicated checksum substring, and that we have implemented.
// (Returns '' if unimplemented, or the expected national checksum substring)
$national_checksum = $myIban->FindNationalChecksum();
// Convert an IBAN to machine format. To do this, we
// remove IBAN from the start, if present, and remove
// non basic roman letter / digit characters
$machine_iban = $myIban->MachineFormat();
// Convert an IBAN to human format. To do this, we
// add a space every four characters.
$human_iban = $myIban->HumanFormat();
// Convert an IBAN to obfuscated format for relative
// identification. To do this, we replace all but the
// leading country code and final four characters with
// asterisks.
$obfsucated_iban = $myIban->ObfuscatedFormat();
// To list countries, use the IBAN Class...
$myIban->Countries();
// ... everything else is in the IBANCountry class.
// Example instantiation
$countrycode = 'DE';
$myCountry = new IBANCountry($countrycode);
// Get the country code of an IBAN country
$country_code = $myCountry->Code();
// Get the name of an IBAN country
$country_name = $myCountry->Name();
// Get the domestic example for an IBAN country
$country_domestic_example = $myCountry->DomesticExample();
// Get the BBAN example for an IBAN country
$country_bban_example = $myCountry->BBANExample();
// Get the BBAN format (in SWIFT format) for an IBAN country
$country_bban_format_as_swift = $myCountry->BBANFormatSWIFT();
// Get the BBAN format (as a regular expression) for an IBAN country
$country_bban_format_as_regex = $myCountry->BBANFormatRegex();
// Get the BBAN length for an IBAN country
$country_bban_length = $myCountry->BBANLength();
// Get the IBAN example for an IBAN country
$country_iban_example = $myCountry->IBANExample();
// Get the IBAN length for an IBAN country
$country_iban_length = $myCountry->IBANLength();
// Get the IBAN format (in SWIFT format) for an IBAN country
$country_iban_format_as_swift = $myCountry->IBANFormatSWIFT();
// Get the IBAN format (as a regular expression) for an IBAN country
$country_iban_format_as_regex = $myCountry->IBANFormatRegex();
// Determine whether an IBAN country is a member of SEPA (Single Euro Payments Area)
if(!$myCountry->IsSEPA()) {
// ... do something xenophobic ...
}
// Get the bank ID start offset for an IBAN country
$country_bankid_start_offset = $myCountry->BankIDStartOffset();
// Get the bank ID stop offset for an IBAN country
$country_bankid_stop_offset = $myCountry->BankIDStopOffset();
// Get the branch ID start offset for an IBAN country
$country_branchid_start_offset = $myCountry->BranchIDStartOffset();
// Get the branch ID stop offset for an IBAN country
$country_branchid_stop_offset = $myCountry->BranchIDStopOffset();
// Get the national checksum start offset for an IBAN country
$country_nationalchecksum_start_offset = $myCountry->NationalChecksumStartOffset();
// Get the national checksum stop offset for an IBAN country
$country_nationalchecksum_stop_offset = $myCountry->NationalChecksumStopOffset();
// Get the registry edition for an IBAN country (note: IIBAN country 'AA' returns 'N/A')
$country_registry_edition = $myCountry->RegistryEdition();
// Determine whether an IBAN country is an official, SWIFT issued country record
if(!$myCountry->SWIFTOfficial()) {
// ... do something against decentralization ...
}
// Get the IANA code for an IBAN country
$country_iana = $myCountry->IANA();
// Get the ISO3166-1 alpha-2 code for an IBAN country
$country_iso3166 = $myCountry->ISO3166();
// Get the parent registrar IBAN country of an IBAN country
// (Returns '' in the normal case that the country is independently registered)
$registrar_country = $myCountry->ParentRegistrar();
if($registrar_country=='') {
echo "The mighty nation of '$iban_country' stands strong and proud...\n";
echo " ... with its own heirarchy of bureaucrats!\n";
}
else {
echo "It has been foretold that the downtrodden natives of '$iban_country' will one day\n";
echo "rise up and throw off the shackles of the evil '$registrar_country' oppressors!\n";
}
// Get the official currency of an IBAN country as an ISO4217 alpha code
// (Returns '' in the Internet (IIBAN) case, ie. no official currency)
$official_currency = $myCountry->CurrencyISO4217();
if($official_currency == '') {
echo "There is no official currency for the IBAN country '$iban_country'.\n";
}
// Get the URL of an IBAN country's central bank
// (Note: Returns '' if there is no central bank. Also, note that
// sometimes multiple countries share one central bank)
$central_bank_url = $myCountry->CentralBankURL();
// Get the name of an IBAN country's central bank
// (Note: Returns '' if there is no central bank. Also, note that
// sometimes multiple countries share one central bank)
$central_bank_name = $myCountry->CentralBankName();
// Get an array of all the parts from an IBAN
$iban_parts = $myIban->Parts();
// Get the country part from an IBAN
$iban_country = $myIban->Country();
// Get the checksum part from an IBAN
$checksum = $myIban->Checksum();
// Get the BBAN part from an IBAN
$bban = $myIban->BBAN();
// Get the Bank ID (institution code) from an IBAN
$bank = $myIban->Bank();
// Get the Branch ID (sort code) from an IBAN
// (NOTE: only available for some countries)
$sortcode = $myIban->Branch();
// Get the (branch-local) account ID from an IBAN
// (NOTE: only available for some countries)
$account = $myIban->Account();
// Get the national checksum part from an IBAN
// (NOTE: only available for some countries)
$checksum = $myIban->NationalChecksum();
// composer.json
{
"php-iban": "4.2.1"
}
}
sh
# install
$ php composer.phar install
# update
$ php composer.phar update slackero/php-iban
# or you can simply execute composer command if you set it to
# your PATH environment variable
$ composer install
$ composer update slackero/php-iban
sh
# enter your project's git repo
$ cd my-existing-project-with-a-git-repo/
# select an appropriate place to create the php-iban subdir
$ cd lib/
# add php-iban as a submodule
$ git submodule add https://github.com/slackero/php-iban.git
# commit new submodule
$ git commit -m 'Add php-iban submodule'
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.