PHP code example of slackero / php-iban

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'