1. Go to this page and download the library: Download globalcitizen/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/ */
globalcitizen / 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) {
print "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 == '') {
print "National checksum system does not exist or remains unimplemented for the country of IBAN '$iban'.\n";
}
elseif($result == true) {
print "IBAN '$iban' passes the national checksum algorithm for its country.\n";
}
else {
print "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=='') {
print "The mighty nation of '$iban_country' stands strong and proud...\n";
print " ... with its own heirarchy of bureaucrats!\n";
}
else {
print "It has been foretold that the downtrodden natives of '$iban_country' will one day\n";
print "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 == '') {
print "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) {
print "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 == '') {
print "National checksum system does not exist or remains unimplemented for this IBAN's country.\n";
}
elseif($result == true) {
print "IBAN passes the national checksum algorithm for its country.\n";
}
else {
print "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=='') {
print "The mighty nation of '$iban_country' stands strong and proud...\n";
print " ... with its own heirarchy of bureaucrats!\n";
}
else {
print "It has been foretold that the downtrodden natives of '$iban_country' will one day\n";
print "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 == '') {
print "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();
js
// composer.json
{
"p-iban": "4.2.3"
}
}
sh
# install
$ php composer.phar install
# update
$ php composer.phar update globalcitizen/php-iban
# or you can simply execute composer command if you set it to
# your PATH environment variable
$ composer install
$ composer update globalcitizen/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/globalcitizen/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.