php-iban
เป็นไลบรารีสำหรับการแยกวิเคราะห์ ตรวจสอบ และสร้างข้อมูลบัญชีธนาคาร IBAN (และ IIBAN) ใน PHP
สามารถดึงข้อมูลทุกส่วนของ IBAN ได้ รวมถึงรหัสประเทศ ผลรวมตรวจสอบ BBAN รหัสสถาบันการเงินหรือธนาคาร หมายเลขบัญชี และในกรณีที่มีการใช้ระบบระดับชาติที่มีความยาวคงที่ รวมถึงรหัสสาขา/การเรียงลำดับด้วย เช็คซัมแห่งชาติแบบเดิมอาจถูกเรียกคืน ตรวจสอบ และตั้งค่าอย่างถูกต้อง หากมี ไม่ว่าจะนำไปใช้กับส่วนหมายเลขบัญชี ตัวระบุธนาคารและสาขา บางส่วนหรือทั้งหมดข้างต้น รหัสประเทศ IBAN สามารถแปลงเป็นรูปแบบ ISO3166-1 alpha-2 และ IANA ได้ โดยอาจสอบถามประเทศ IBAN หลักที่ทำหน้าที่เป็นผู้รับจดทะเบียนสำหรับเขตแดนในการปกครอง สกุลเงินประจำชาติอย่างเป็นทางการ (รูปแบบรหัสอัลฟา ISO4217) ชื่อธนาคารกลาง และ URL ของธนาคารกลาง อาจถูกสอบถามเพื่อให้ง่ายต่อการรวมเข้าด้วยกัน IBAN อาจถูกแปลงระหว่างการเป็นตัวแทนของมนุษย์และเครื่องจักร IBAN อาจถูกทำให้สับสนในการนำเสนอต่อมนุษย์ในสถานการณ์พิเศษ เช่น การระบุตัวตนแบบสัมพันธ์ รวมฐานข้อมูลตัวอย่าง/ทดสอบ IBAN จากประเทศต่างๆ สุดท้ายนี้ คำแนะนำที่มีความแม่นยำสูงสำหรับอินพุตที่ตั้งใจไว้แต่แรกนั้นสามารถทำได้เมื่อตรวจพบ IBAN ที่ไม่ถูกต้องและเกิดจากข้อผิดพลาดในการถอดรหัส
ตัวแยกวิเคราะห์ถูกสร้างขึ้นโดยใช้นิพจน์ทั่วไปเพื่อปรับเนื้อหาของรีจิสทรี IBAN อย่างเป็นทางการ จาก SWIFT จากนั้นจึงแก้ไขด้วยตนเองสำหรับกรณีพิเศษ เช่น ข้อผิดพลาดและการละเว้นในข้อกำหนดอย่างเป็นทางการของ SWIFT
ข้อบกพร่องต่างๆ ในการปรับเปลี่ยนครั้งแรกได้รับการแก้ไขแล้ว และเวอร์ชันปัจจุบันควรมีการใช้งานที่ถูกต้องและเชื่อถือได้
คำแนะนำ ของคณะกรรมการมาตรฐานการธนาคารแห่งยุโรป (ECBS) จะถูกรวมเข้าด้วยกันตามความเหมาะสม
โปรดจำไว้ว่าเนื่องจากข้อกำหนดมีการเปลี่ยนแปลงบ่อยครั้ง จึงอาจไม่อัปเดต 100% หากมีการเปิดตัวเวอร์ชันใหม่เมื่อเร็ว ๆ นี้ - แม้ว่าฉันจะพยายามอย่างเต็มที่ ขณะนี้เราคิดว่าจะอัปเดตการเปิดตัวในเดือนมกราคม 2020 เช่น PDF เผยแพร่ #86
ได้รับอนุญาตภายใต้ LGPL ใช้งานได้ฟรีในเชิงพาณิชย์
รองรับ 116 ประเทศ IBAN ที่เป็นทางการและ ไม่เป็นทางการ ต่อไปนี้
หากคุณใช้ผู้แต่งคุณสามารถเรียกใช้ composer require globalcitizen/php-iban
เพื่อไปต่อได้ มีรายงานว่า (และ) ดำเนินการผ่านผู้แต่ง
(หากคุณยังไม่มี composer
และต้องการติดตั้งในลักษณะที่ไม่ปลอดภัย (ไม่แนะนำ แต่สะดวก) คุณสามารถเรียกใช้ curl -sS https://getcomposer.org/installer | php
หรือ wget -O- https://getcomposer.org/installer | php
)
จากนั้นเพียงเพิ่มสิ่งต่อไปนี้ลงในไฟล์ composer.json
ของคุณ:
// composer.json
{
"require" : {
"globalcitizen/php-iban" : "4.2.3"
}
}
จากนั้น คุณสามารถติดตั้งการขึ้นต่อกันใหม่ได้โดยการรันคำสั่ง update ของ composer
จากไดเร็กทอรีที่มีไฟล์ composer.json
ของคุณอยู่:
# 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
คุณสามารถดูห้องสมุดนี้ได้ใน Packagist
สำหรับการติดตั้งปกติ ให้ใช้คำสั่ง git clone
:
# HTTP
$ git clone https://github.com/globalcitizen/php-iban.git
# SSH
$ git clone [email protected]:globalcitizen/php-iban.git
อีกทางหนึ่ง หากต้องการฝังไลบรารี php-iban
ในพื้นที่เก็บข้อมูล git
-managed ของคุณเองที่หมายเลขการแก้ไขเฉพาะ เพื่อให้สามารถอัปเดตเวอร์ชันในลักษณะที่คาดเดาได้ในขณะที่ยังคงรักษาระบบที่ใหญ่ขึ้นซึ่งขึ้นอยู่กับฟังก์ชันการทำงานของระบบ:
# 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 '
จากนั้น เมื่อตรวจสอบโปรเจ็กต์ git
ที่มีโมดูลย่อยเป็นครั้งแรก โดยปกติแล้ว คุณจะต้องทำขั้นตอนเพิ่มเติมสองสามขั้นตอน:
# check out your project as normal
$ git clone [email protected]:your/project.git
# initialize submodules
$ git submodule init
# update submodules
$ git submodule update
หากต้องการข้ามขั้นตอนเหล่านี้ ให้เพิ่มอาร์กิวเมนต์ --recursive
ไปยัง git clone
เมื่อชำระเงิน:
# check out your project, initialize and update all submodules
$ git clone --recursive [email protected]:your/project.git
หากคุณต้องการให้โปรเจ็กต์ของคุณใช้ php-iban
เวอร์ชันใหม่กว่าในภายหลัง ให้รัน:
# fetch changes
$ git submodule update --remote php-iban
# commit
$ git commit -m ' Update php-iban submodule '
zip
หรือ tar.gz
unzip filename.zip
บนแพลตฟอร์มที่คล้ายกับ Unixphp-iban
จาก libraries/php-iban
ของไดเร็กทอรีหลัก คุณสามารถใช้คำสั่ง need_once() ต่อไปนี้: <?php
require_once ( dirname ( __FILE__ ) . ' /../libraries/php-iban/php-iban.php ' );
# ... your code utilizing php-iban
?>
ตารางต่อไปนี้เปรียบเทียบ php-iban กับโปรเจ็กต์ PHP อื่นๆ ที่นำเสนอฟังก์ชันที่เกี่ยวข้องกับ IBAN บนพื้นฐานของข้อมูลโปรเจ็กต์ทั่วไปและกระบวนทัศน์การเขียนโปรแกรมที่รองรับ
โครงการ | ลิขสิทธ์ | โปรค | อู๋ | เริ่มแล้ว | ล่าสุด | ดาว | ดู | ส้อม | การติดตั้ง | วัฒนธรรมบ้าน | เดปส์ |
---|---|---|---|---|---|---|---|---|---|---|---|
php-iban.php | แอลจีพีแอล | 2552 | 4.2.3 | 426 | 29 | 104 | ~7เดือน+* | ทั่วโลก* | ไม่มี | ||
อิบาน | เอ็มไอที | 2013 | 1.3.0 | 50 | 9 | 19 | 178.39k | เยอรมัน | มากมาย | ||
ไอโซโค้ด | GPL3 | 2555 | 2.1.1 | 466 | 22 | 54 | 145k | ภาษาฝรั่งเศส | มากมาย | ||
เซปายูทิลส์ | GPL3 | 2014 | 1.2.3 | 8 | 4 | 3 | 25k | เยอรมัน | phpunit | ||
ซิมโฟนี่ | เอ็มไอที | 2013 | 3.3.6 | 15k | 1214 | 5.6k | 23M+ | ภาษาฝรั่งเศส | มากมาย |
หมายเหตุ:
ตอนนี้เรามาดูคุณสมบัติกัน
- | ไอเอสโอ | ไออาน่า | SEPA | ยูโอ | มท | เอ็นซี | ซีบี | ชม? | ทะเบียน | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|
php-iban.php | 116: CSV เต็มรูปแบบที่แก้ไขข้อผิดพลาดพร้อมห่วงโซ่เครื่องมือโอเพ่นซอร์สและเอกสารประกอบ | |||||||||||
อิบาน | * | 54: บางส่วน ฮาร์ดโค้ด ต้นกำเนิดที่น่าสงสัย | ||||||||||
ไอโซโค้ด | 66: บางส่วน ฮาร์ดโค้ด ต้นกำเนิดที่น่าสงสัย | |||||||||||
เซปายูทิลส์ | 89: บางส่วน ฮาร์ดโค้ด ต้นกำเนิดที่น่าสงสัย | |||||||||||
ซิมโฟนี่ | 95: บางส่วน, ฮาร์ดโค้ด, ต้นกำเนิดที่น่าสงสัย |
บันทึก:
IBAN XXXX XXXX XXXX XXXX
แทนที่จะเป็น XXXXXXXXXXXXXXXX
- สมเหตุสมผลมากกว่ามากกล่าวโดยสรุป ในขณะที่ผู้ใช้นักแต่งเพลงมักจะมองข้ามไลบรารีของคู่แข่ง (โดยเฉพาะ Iban) อาจเนื่องมาจากเราต้องใช้เวลาในการรวมไฟล์ผู้แต่ง ไลบรารีเหล่านั้นมักจะเป็นเฟรมเวิร์กเว็บที่มีคุณสมบัติครบถ้วนหรือมีภาระหนักในการพึ่งพา มีอายุน้อยกว่า ล้มเหลว เพื่อเป็นแนวทางให้กับรากฐานซอฟต์แวร์เสรี ไม่สนับสนุนกระบวนทัศน์การเขียนโปรแกรมตามขั้นตอน (สำหรับเมื่อ AbstractProductClassMakerFactories จะไม่ตัดมัน) ใช้ข้อมูลจาก แหล่งที่มาที่น่าสงสัย มีแนวโน้มที่จะใช้ใบอนุญาตที่ไม่เข้ากันกับการใช้งานเชิงพาณิชย์บางอย่าง และขาดคุณสมบัติตรงไปตรงมา
ดังนั้น ผู้ใช้ที่กล้าหาญ ... เลือก php-iban : ไลบรารี่ที่มีจริยธรรม ใช้งานได้จริง มองไปข้างหน้า และไม่ยุ่งยากซึ่งเป็นทางเลือกสำหรับการประมวลผล IBAN และ IIBAN เลือกที่จะชนะ! -
หากคุณทราบ URL ของ IBAN ระดับชาติ BBAN หรือเอกสารผลรวมตรวจสอบระดับชาติ จากแหล่งที่มาอย่างเป็นทางการ โปรดแจ้งให้เราทราบในฉบับที่ #39 และฉบับที่ #41
ธนาคาร ในหมู่เกาะแฟโร (FO) ไม่ตอบสนอง เช่นเดียวกับธนาคารแห่งชาติของเดนมาร์กที่แนะนำฉันมาด้วย
ลักเซมเบิร์ก (LU) ดูเหมือนจะไม่สอดคล้องกับระบบเช็คซัมใดๆ แม้ว่า IBAN บางตัวจะตรวจสอบความถูกต้องกับระบบทั่วไป แต่บางระบบก็ไม่ใช้หรือใช้ระบบอื่น ข้อเสนอแนะที่ว่าลักเซมเบิร์กมีระบบการตรวจสอบระดับชาติอาจไม่ถูกต้อง เราต้องการคำชี้แจง หวังว่าจะมีใครสักคนสามารถวิเคราะห์คำแถลงอย่างเป็นทางการได้
มอริเตเนีย (MR) มีระบบตรวจสอบผลรวมอักขระคู่ แต่ IBAN ตัวอย่างของเราไม่ตรงกับ MOD97-10 ซึ่งจะเป็นระบบที่คาดไว้ ก่อนหน้านี้ IBAN ที่นี่ได้รับการแก้ไขเป็นตัวเลขตรวจสอบผลรวม '13' เสมอ อย่างไรก็ตาม ณ รีจิสทรี v66 ขณะนี้เป็นแบบไดนามิก ซึ่งแนะนำการเปลี่ยนแปลงหรืออย่างน้อยตอนนี้ระบบตรวจสอบผลรวมที่ผ่อนคลายในระดับประเทศ
หากคุณยินดีที่จะใช้เวลาค้นหา เราอาจทำการทดสอบ IBAN เพิ่มเติมสำหรับประเทศส่วนใหญ่ โดยเฉพาะอย่างยิ่งในประเทศที่มีขนาดเล็กกว่า...
เวอร์ชัน 4.2.3 ได้รับการเผยแพร่แล้ว
เวอร์ชัน 4.2.2 ได้รับการเผยแพร่แล้ว
เวอร์ชัน 4.2.1 ได้รับการเผยแพร่แล้ว
เวอร์ชัน 4.2.0 ได้รับการเผยแพร่แล้ว
เวอร์ชัน 4.1.1 ได้รับการเผยแพร่แล้ว
เวอร์ชัน 4.1.0 ได้รับการเผยแพร่แล้ว
เวอร์ชัน 4.0.0 ได้รับการเผยแพร่แล้ว
เวอร์ชัน 3.0.3 ได้รับการเผยแพร่แล้ว
เวอร์ชัน 3.0.2 เปิดตัวแล้ว
เวอร์ชัน 3.0.0 ได้รับการเผยแพร่แล้ว
เวอร์ชัน 2.8.2 เปิดตัวแล้ว
เวอร์ชัน 2.8.1 เปิดตัวแล้ว
TL
BBAN ลบช่องว่างที่ไม่เกี่ยวข้องออก (ไม่ส่งผลต่อการตรวจสอบ IBAN) (ขอบคุณ @DanyCorbineauBappli) เวอร์ชัน 2.8.0 เปิดตัวแล้ว
เวอร์ชัน 2.7.5 เปิดตัวแล้ว
เวอร์ชัน 2.7.4 เปิดตัวแล้ว
iban_to_obfsucated_format()
หรือ ObfuscatedFormat()
เพื่อทำให้ IBAN สับสนสำหรับสถานการณ์เอาต์พุตเฉพาะ (เช่น การระบุแบบสัมพันธ์)เวอร์ชัน 2.7.3 เปิดตัวแล้ว
เวอร์ชัน 2.7.2 เปิดตัวแล้ว
เวอร์ชัน 2.7.1 เปิดตัวแล้ว
เวอร์ชัน 2.7.0 เปิดตัวแล้ว
เวอร์ชัน 2.6.9 เปิดตัวแล้ว
SM
)เวอร์ชัน 2.6.8 เปิดตัวแล้ว
IT
)เวอร์ชัน 2.6.7 เปิดตัวแล้ว
SK
)เวอร์ชัน 2.6.6 เปิดตัวแล้ว
ini_set
เวอร์ชัน 2.6.5 เปิดตัวแล้ว
gmp
เวอร์ชัน 2.6.4 เปิดตัวแล้ว
bcmath
เวอร์ชัน 2.6.3 เปิดตัวแล้ว
เวอร์ชัน 2.6.2 เปิดตัวแล้ว
เวอร์ชัน 2.6.1 เปิดตัวแล้ว
เวอร์ชัน 2.6.0 เปิดตัวแล้ว
เวอร์ชัน 2.5.9 เปิดตัวแล้ว
เวอร์ชัน 2.5.8 เปิดตัวแล้ว
เวอร์ชัน 2.5.7 เปิดตัวแล้ว
เวอร์ชัน 2.5.6 เปิดตัวแล้ว
เวอร์ชัน 2.5.5 เปิดตัวแล้ว
เวอร์ชัน 2.5.4 เปิดตัวแล้ว
เวอร์ชัน 2.5.3 เปิดตัวแล้ว
เวอร์ชัน 2.5.2 เปิดตัวแล้ว
เวอร์ชัน 2.5.1 เปิดตัวแล้ว
908
) ในเซอร์เบีย (RS) ดูเหมือนจะมี IBAN ที่ใช้งานอยู่หลายรายการซึ่งมีเช็คซัมของประเทศที่เสียหาย ดังนั้นเราจึงเพิกเฉยต่อเช็คซัมของประเทศทั้งหมดในบัญชีจากธนาคารนั้นเวอร์ชัน 2.5.0 เปิดตัวแล้ว
INGB
(ING Bank) ที่ได้ละทิ้งเช็คซัมเดิม01
(ธนาคารแห่งสโลวีเนีย) ที่ไม่ปฏิบัติตามเช็คซัมutils/example-ibans
ซึ่งมีรายการจำนวนมากสำหรับประเทศต่างๆ จำนวนมากอยู่แล้ว สิ่งนี้ควรทำให้การวิจัยในอนาคตง่ายขึ้นเวอร์ชัน 2.4.20 เปิดตัวแล้ว
เวอร์ชัน 2.4.19 เปิดตัวแล้ว
เวอร์ชัน 2.4.18 เปิดตัวแล้ว
เวอร์ชัน 2.4.17 เปิดตัวแล้ว
01
ภายใต้สโลวีเนีย (SI)) จะไม่ใช้โครงการเช็คซัมระดับชาติเป็นกรณีพิเศษ มีการเพิ่มข้อยกเว้นในการดำเนินการตรวจสอบผลรวมแห่งชาติของสโลวีเนียเวอร์ชัน 2.4.16 เปิดตัวแล้ว
เวอร์ชัน 2.4.15 เปิดตัวแล้ว
เวอร์ชัน 2.4.14 เปิดตัวแล้ว
เวอร์ชัน 2.4.13 เปิดตัวแล้ว
iban_mistranscription_suggestions()
ตอนนี้ทำงานได้อย่างถูกต้องเมื่อส่งผ่านสตริงที่คล้าย IBAN ที่จัดรูปแบบหลวมๆ_verhoeff()
ซึ่งรองรับการใช้งานเช็คซัมระดับชาติบางอย่าง ตอนนี้ทำงานได้อย่างถูกต้องเมื่อส่งผ่านอินพุตที่ไม่ถูกต้องเวอร์ชัน 2.4.12 เปิดตัวแล้ว
เวอร์ชัน 2.4.11 เปิดตัวแล้ว
central_bank_url
และ central_bank_name
ตัวอย่างเช่น:เวอร์ชัน 2.4.10 เปิดตัวแล้ว
currency_iso4217
จะจัดเก็บสกุลเงินอย่างเป็นทางการของประเทศในรูปแบบรหัสอัลฟ่า ISO4217 เช่น:เวอร์ชัน 2.4.9 เปิดตัวแล้ว
parent_registrar
จะจัดเก็บประเทศ IBAN ของผู้รับจดทะเบียนหลักของประเทศ IBAN เช่น:เวอร์ชัน 2.4.8 เปิดตัวแล้ว
เวอร์ชัน 2.4.7 เปิดตัวแล้ว
เวอร์ชัน 2.4.6 เปิดตัวแล้ว
เวอร์ชัน 2.4.5 เปิดตัวแล้ว
เวอร์ชัน 2.4.4 เปิดตัวแล้ว
เวอร์ชัน 2.4.3 เปิดตัวแล้ว
เวอร์ชัน 2.4.2 เปิดตัวแล้ว
เวอร์ชัน 2.4.1 เปิดตัวแล้ว
เวอร์ชัน 2.4.0 เปิดตัวแล้ว
iban_{set|find|verify}_nationalchecksum()
และ OO-wrapper ที่เทียบเท่ากัน ปัจจุบันรองรับเบลเยียม (BE) ฝรั่งเศส (FR) และสเปน (ES) หากคุณต้องการให้ประเทศของคุณรองรับ โปรดดูฉบับที่ #39 และฉบับที่ #41 เวอร์ชัน 2.3.1 เปิดตัวแล้ว
เวอร์ชัน 2.3.0 เปิดตัวแล้ว
เวอร์ชัน 2.2.0 เปิดตัวแล้ว
เวอร์ชัน 2.1.9 เปิดตัวแล้ว
เวอร์ชัน 2.1.8 เปิดตัวแล้ว
เวอร์ชัน 2.1.7 เปิดตัวแล้ว
iban_get_nationalchecksum_part()
, iban_country_get_nationalchecksum_start_offset()
และ iban_country_get_nationalchecksum_stop_offset()
และ OO-wrapper ที่เทียบเท่ากัน $myIban->NationalChecksum()
, $myCountry->NationalChecksumStartOffset()
และ $mycountry->NationalChecksumStopOffset()
อัปเดตการทดสอบและเอกสารประกอบแล้ว หากคุณรู้อะไรเกี่ยวกับอัลกอริธึมเช็คซัมระดับชาติ โปรดช่วยแก้ไขปัญหา #39เวอร์ชัน 2.1.6 เปิดตัวแล้ว
machine_format_only
ที่เข้มงวดใหม่เวอร์ชัน 2.1.5 เปิดตัวแล้ว
machine_format_only
ที่เข้มงวดเพิ่มเติมสำหรับ verify_iban()
เพื่อปิดปัญหา #22เวอร์ชัน 2.1.4 เปิดตัวแล้ว
เวอร์ชัน 2.1.3 เปิดตัวแล้ว
iban_to_human_format()
ได้รับการแก้ไขแล้วเมื่อส่งอินพุตที่มีช่องว่างอยู่แล้วเวอร์ชัน 2.1.2 เปิดตัวแล้ว ขณะนี้รหัสประเทศ IBAN อย่างไม่เป็นทางการที่ทราบทั้งหมดได้รวมเข้าด้วยกันแล้ว เช่นเดียวกับการอัปเดตเอกสารเล็กน้อยและการย่อชื่อที่รายงานของโคโซโว เวอร์ชันนี้ยังเพิ่มเติม:
เวอร์ชัน 2.1.1 เปิดตัวแล้ว ขณะนี้กำลังบูรณาการรหัสประเทศ IBAN อย่างไม่เป็นทางการ และกระบวนการนี้ยังคงดำเนินต่อไป เวอร์ชันนี้เพิ่ม:
เวอร์ชัน 2.1.0 เปิดตัวแล้ว
ขณะนี้กำลังบูรณาการรหัสประเทศ IBAN อย่างไม่เป็นทางการ และกระบวนการนี้ยังคงดำเนินต่อไป ธงใหม่ได้ถูกสร้างขึ้นเพื่อตรวจสอบว่าประเทศใดเป็นประเทศที่เป็นทางการซึ่งออกโดย SWIFT หรือไม่ จึงได้มีการเพิ่มประเทศใหม่ดังต่อไปนี้
โปรดทราบว่าบันทึก IIBAN (AA) ได้รับการทำเครื่องหมายอย่างไม่เป็นทางการ และคุณลักษณะที่ระบุไว้ใน docs/TODO
ได้ถูกย้ายไปยังปัญหา Github และไฟล์นั้นถูกลบไปแล้ว
เวอร์ชัน 2.0.1 เปิดตัวแล้ว นี่เป็นการเฉลิมฉลองการทดสอบจริง การสนับสนุนผู้แต่งเพลง และการติดตามการเปลี่ยนแปลงในที่สุด เวอร์ชันนี้ควรเป็นเวอร์ชันล่าสุดโดยมีการเปลี่ยนแปลงรีจิสทรีทั้งหมดในปัจจุบัน รวมถึงการเปลี่ยนแปลงหรือเพิ่มเติมในประเทศต่างๆ:
เวอร์ชัน 1.6.0 เปิดตัวแล้ว เวอร์ชันนี้มีการแก้ไขรีจิสทรีมากขึ้น (พื้นที่ที่เพิ่มใหม่ซึ่งมีข้อมูลที่ผิดพลาด การตรวจสอบผลรวมที่ไม่ถูกต้องใน IBAN ตัวอย่าง ฯลฯ) รวมถึงขั้นตอนการทดสอบที่ได้รับการปรับปรุง เอกสารเพิ่มเติม และเอกสารประกอบที่มีการแก้ไข ผู้ใช้ทุกคนควรอัปเกรด ขณะนี้เรามีการเรียกใช้สคริปต์ทดสอบอัตโนมัติด้วย Travis CI เพื่อให้มีความทนทานเพิ่มเติมสำหรับโค้ดที่คอมมิตทั้งหมด การดำเนินการนี้ใช้เวลานานกว่าที่คาดไว้ เนื่องจากฉันเลือกเวลาที่แน่ชัดที่ Travis ทำลายบันทึกการสร้างของพวกเขา - https://www.traviscistatus.com/incidents/fcllblkclgmb - เพื่อดูว่าปัญหาทั้งหมดเกี่ยวกับอะไร... พิสูจน์อีกครั้งว่าการประมวลผลแบบคลาวด์เป็นเพียง เหมาะ สำหรับการทำลายสิ่งต่าง ๆ โดยไม่คาดคิด เนื่องจากพวกเขาต้องการซ่อนสิ่งต่าง ๆ จึงไม่มีผลลัพธ์การแก้ไขข้อบกพร่องใด ๆ เลย และฉันถูกชักจูงให้เชื่อว่านี่เป็นความผิดของฉัน เพื่อนโปรแกรมเมอร์ทั้งหลาย ดูเถิด มันคือการเริ่มต้นของยุคแห่งความล้มเหลวอันลึกลับ
เวอร์ชัน 1.5.0 เปิดตัวแล้ว ไม่มีการเปลี่ยนแปลงโค้ด แต่ตอนนี้เรามีการรวม http://packagist.org/ แล้ว หวังว่านี่จะทำให้โค้ดเริ่มทำงานได้ หากคุณใช้ packagist คุณสามารถเพิ่มไลบรารี่ลงในโปรเจ็กต์ของคุณได้แล้วโดยเพียงแค่เรียกใช้ composer require globalcitizen/php-iban
(ขอบคุณ @acoulton สำหรับการชี้ทาง)
เวอร์ชัน 1.4.9 ได้รับการเผยแพร่โดยใช้กระบวนการเผยแพร่บน Github ใหม่ หวังว่านี่จะเป็นจุดยึดที่มั่นคงสำหรับผู้ที่รวมไลบรารีเข้ากับซอฟต์แวร์อื่น ๆ นอกจากนี้เรายังมีไฟล์ข้อมูลเมตาของผู้แต่งเพื่อช่วยให้บูรณาการได้ง่ายขึ้น รวม URL รีจิสทรี IBAN ใหม่ ลบแท็ก SVN/โครงสร้างลำตัวเก่าออก
แก้ไข SWIFT URL เป็นหน้า IBAN เน้นการสนับสนุนข้อผิดพลาดในการถอดความผิด
ในที่สุด Google ก็ฆ่า code.google.com
และเราได้ย้ายไปยัง Github แล้ว! เมื่อโครงสร้าง trunk
/ tag
เก่า (ค้างจาก svn
) ได้รับการล้างข้อมูลและเอกสารนี้แปลจากรูปแบบ wiki เก่าเป็น markdown เวอร์ชันใหม่จะออก
เวอร์ชัน 1.4.6 เปิดตัวแล้ว:
ขออภัย ขณะนี้ Google กำหนดให้มีโครงการ code.google.com
เพื่อใช้ Google Drive ฉันพยายามใช้ Google Drive (สมัครบัญชีใหม่ ข้ามผ่านห่วงอีเมล รับการปฏิบัติเหมือนหุ่นยนต์ เรียนรู้อินเทอร์เฟซใหม่ที่ใช้งานง่ายและสัมผัสได้งี่เง่า ได้รับข้อความแสดงข้อผิดพลาดที่ไม่มีความหมายเช่น 'เกินขีดจำกัดการแบ่งปันของคุณแล้ว' (ด้วย ไฟล์ขนาด 2x290KB ในบัญชีใหม่ที่ฉันบอกให้สร้าง) และหมดความอดทนโดยสิ้นเชิง
ในตอนนี้ คุณจะต้องดาวน์โหลดโดยใช้ git
แทน ฉันจะย้าย php-iban
ไปยัง Github เร็วๆ นี้ เมื่อเร็ว ๆ นี้ Google เป็นเรื่องที่น่าปวดหัวจริงๆ แล้วขยะ Google+ และ Google Drive เหล่านี้ล่ะ ทำลาย Picasa ทำลาย Sketchup เพราะขาดความสนใจ ฯลฯ พวกเขากำลังคิดอะไรอยู่
เวอร์ชัน 1.4.5 เปิดตัวแล้ว:
เวอร์ชัน 1.4.4 ได้รับการเผยแพร่แล้ว:
พื้นที่เก็บข้อมูลซอร์สโค้ดโครงการได้เปลี่ยนจาก svn
(UGH) เป็น git
(Yay!)
เวอร์ชัน 1.4.3 ได้รับการเผยแพร่แล้ว:
docs/COMEDY-OF-ERRORS
และอินไลน์ภายในตัวแปลงรีจิสทรีเวอร์ชัน 1.4.2 ได้รับการเผยแพร่แล้ว:
เวอร์ชัน 1.4.1 ได้รับการเผยแพร่แล้ว:
$__disable_iiban_gmp_extension=true;
)เวอร์ชัน 1.4.1 ยังคงถูกเตรียมการบีบบั๊กและอัปเดตรีจิสทรี ... ในขณะเดียวกันมันก็มาถึงความสนใจของฉันที่เราได้รับการแนะนำในบล็อก Cody Candy! http://www.codecandies.com/2012/05/30/no-exceptions/ Hooray สำหรับอารมณ์ขันของเยอรมัน! ฮ่าๆๆ
เวอร์ชัน 1.4.0 ได้รับการเผยแพร่แล้ว:
VERSION
เพื่อรวมข้อมูลเวอร์ชัน Hard ใน Source Tree ตามคำขอ เวอร์ชัน 1.3.9 ได้รับการปล่อยตัวแล้ว:
เวอร์ชัน 1.3.8 ได้รับการเผยแพร่แล้ว:
เวอร์ชัน 1.3.7 ได้รับการเผยแพร่แล้ว:
เวอร์ชัน 1.3.6 ได้รับการปล่อยตัวแล้ว:
เวอร์ชัน 1.3.5 ได้รับการเผยแพร่แล้ว:
เวอร์ชัน 1.3.4 ได้รับการปล่อยตัวแล้ว:
เวอร์ชัน 1.3.3 ได้รับการปล่อยตัว:
เวอร์ชัน 1.3.2 ได้รับการเผยแพร่แล้ว:
เวอร์ชัน 1.3.1 ได้รับการปล่อยตัวแล้ว:
เวอร์ชัน 1.3.0 ได้รับการเผยแพร่แล้ว รุ่นนี้เพิ่มการสนับสนุนข้อเสนอแนะข้อผิดพลาด MISTRANSCRIPTION
เวอร์ชัน 1.2.0 ได้รับการเผยแพร่แล้ว รุ่นนี้เพิ่มการสนับสนุนหมายเลขบัญชีธนาคาร International International (IIBAN) ตาม Draft IIBAN Internet ปัจจุบันที่ http://tools.ietf.org/html/draft-iiban-01
เวอร์ชัน 1.1.2 ได้รับการเผยแพร่แล้ว สิ่งนี้จะเพิ่มแท็ก Open ยาวไปยังไฟล์ไลบรารีหลักเพื่อลดความซับซ้อนของการปรับใช้ในการติดตั้ง PHP เริ่มต้นจำนวนมาก
เวอร์ชัน 1.1.1 ได้รับการเผยแพร่แล้ว วิธีนี้แก้ไขการพิมพ์ผิดในการเรียกใช้ฟังก์ชันในเสื้อคลุม OO ใหม่ ผู้ใช้ที่ไม่ใช่ OO ไม่จำเป็นต้องอัพเกรด
เวอร์ชัน 1.1.0 ได้รับการเผยแพร่แล้ว เวอร์ชันนี้เพิ่มไลบรารี wrapper ที่มุ่งเน้นวัตถุและการอัปเดตที่เกี่ยวข้องกับเอกสารและสคริปต์ทดสอบ ไม่สำคัญสำหรับผู้ใช้ที่มีอยู่ในการอัพเกรด
เวอร์ชัน 1.0.0 ได้รับการเผยแพร่แล้ว เวอร์ชันนี้มีการเปลี่ยนแปลงต่อไปนี้:
iban_country_is_sepa($iban_country)
iban_to_human_format($iban)
ก่อนหน้านี้ในเดือน ... ปล่อยการบำรุงรักษาขนาดเล็ก ไม่สำคัญ
*ตอนนี้เรามี http://groups.google.com/group/php-iban-users รายชื่อผู้รับจดหมาย อย่าลังเลที่จะโพสต์ความคิดเห็นสอบถามหรือคำแนะนำของคุณ - เรายินดีที่จะรู้ว่าคุณใช้ห้องสมุดอย่างไร ในวันนี้โครงการมีการดาวน์โหลดมากกว่า 400 ครั้งและยังคงแข็งแกร่งโดยมีผู้ใช้ใหม่มากกว่าหนึ่งคนต่อวัน - การแสดงที่ดีสำหรับห้องสมุดพิเศษ!
* เวอร์ชัน 12 ได้รับการปล่อยตัวแล้ว ไฟล์รีจิสทรีได้รับการปรับปรุงส่วนหนึ่งเป็นผลมาจากรายงานของผู้ใช้และส่วนหนึ่งเป็นผลมาจากปัญหาที่เปิดเผยในขณะที่ทำการทดสอบอัตโนมัติกับเวอร์ชัน 11
แถวส่วนหัวที่ถูกต้อง สองคอลัมน์ไม่ได้แสดงในชื่อ ( bban_length
และ iban_length
) ตอนนี้พวกเขาได้รับการเพิ่มแล้ว
การแก้ไขรายการรีจิสทรีสำหรับดินแดนฝรั่งเศส (PF, TF, YT, NC, PM, WF) ดินแดนฝรั่งเศสไม่ได้รวมอยู่อย่างชัดเจนใน Swift Specification TextFile พวกเขาซ้ำกันจากฝรั่งเศสตามความคิดเห็นที่ไม่มีโครงสร้างกับรายการนั้น ตัวอย่าง Ibans ถูกสร้างขึ้นเพื่อวัตถุประสงค์ในการอธิบายโดยเพียงแค่แก้ไขคำนำหน้าของประเทศโดยไม่ต้องสร้างการตรวจสอบใหม่ ตัวอย่าง Iban ที่รวมอยู่ในดินแดนเหล่านี้ควรถูกต้อง
ยิบ รอลตาร์และฮังการี (GI, HU) แก้ไขข้อผิดพลาดที่ดินแดนทั้งสองมีลำไส้ใหญ่ฟุ่มเฟือยต่อท้ายการแสดงออกปกติของพวกเขาหลังจากการแปลงเอกสารเริ่มต้นซึ่งทำให้เกิดความล้มเหลวในการตรวจสอบสำหรับ Ibans ทั้งหมดในประเทศเหล่านั้น
มอริเชียส (MU) แก้ไขความคาดหวังความยาวของ Iban จาก 31 ถึง 30
ตัวอย่างของ สวีเดน (SE) Iban ได้รับการแก้ไขด้วยตนเองจากตัวอย่างข้อมูลจำเพาะของ Iban ในช่วงต้นของการพัฒนาและไม่ผ่านการตรวจสอบ ตัวอย่างอย่างเป็นทางการของ Iban ได้รับการฟื้นฟู
ตูนิเซีย (TN) แก้ไขสตริงการตรวจสอบความถูกต้องที่ไม่เหมาะสมที่เกิดจากข้อผิดพลาดในการแปลงเอกสารเริ่มต้น (รูปแบบ IBAN-format-specifier เป็นฟังก์ชั่นการแปลงการแสดงออกปกติ)
require_once ( ' php-iban.php ' );
# ... 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 );
การใช้ OO นั้นไม่สนับสนุนเนื่องจากมีแนวโน้มในปัจจุบันที่จะใช้โมเดลมากเกินไป อย่างไรก็ตามหากคุณต้องการ OO PHP แล้วโดยทั้งหมดใช้ wrapper เชิงวัตถุที่อธิบายไว้ด้านล่าง
require_once ( ' oophp-iban.php ' );
# ... 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 ();
ดูด้วยตัวคุณเองว่าวิธีการและคุณสมบัติของเราเปรียบเทียบกับห้องสมุดเหล่านี้ทั้งหมดได้อย่างไร ...
ภาษา | ห้องสมุด |
---|---|
C# | Iban-Api-Net |
ชวา | iban-api-java |
ชวา | Iban4j |
ชวา | Java-Iban |
จาวาสคริปต์ | iban.js |
จาวาสคริปต์ | อานม้า |
Objectivec | ผู้ถือสายเลือด |
Objectivec | Ibanvalidation |
Perl | ห้องสมุด CPAN ต่างๆ |
หลาม | Django-localflavor |
หลาม | Iban-Generator |
ทับทิม | ธนาคาร |
ทับทิม | iban-tools |
ทับทิม | ibandit |
ทับทิม | Ibanizator |
ทับทิม | Iso-Iban |