فهرست مستندات پروژه
شماره شبا
بررسی شبای ایرانی با mod-97 و lookup بانک.
Iban فقط شبای ایرانی را بررسی میکند: IR و ۲۴ رقم که شامل دو رقم کنترل، سه رقم کد بانک و نوزده رقم حساب است.
نمونه قابل اجرا
کد را کنار vendor/ ذخیره و اجرا کنید:
<?php
require 'vendor/autoload.php';
use Eram\Abzar\Validation\Iban;
$iban = Iban::from('IR820540102680020817909002');
echo $iban->bank(), "\n";
echo $iban->formatted(), "\n";
بانک پارسیان
IR82 0540 1026 8002 0817 9090 02
قواعد و نکتهها
حروف بزرگ میشوند، ارقام یکسانسازی میشوند و فاصله، خط تیره و علامتهای نامرئی حذف میشوند. به ورودی ۲۴ رقمی بدون پیشوند، IR اضافه میشود. پیشوند کشور دیگر خطای IBAN.MISSING_PREFIX دارد. checksum با mod-97 بررسی میشود.
شبای دارای checksum درست و بانک ناشناخته همچنان معتبر است؛ هشدار IBAN.UNKNOWN_BANK دارد و bank() برابر null میشود. isStrictlyValid() وجود همه اطلاعات lookup را هم لازم میداند.
برای نمونه بالا، bankCode() برابر 054 و bankEnum() برابر Bank::PARSIAN است. masked() مقدار IR82 054* **** **** **** **90 02 را میدهد. JSON فیلدهای value، bank_code و bank دارد.
extractAll() به پیشوند IR نیاز دارد، حتی اگر validate() عدد بدون پیشوند را بپذیرد. فاصله و خط تیره در متن قابل قبول است. fake() شبا با کد بانک شناختهشده میسازد و fake('054') کد بانک را ثابت میکند. کد بانک باید سه رقم باشد، وگرنه FAKE.INVALID_ARGUMENT رخ میدهد.
این بررسی وجود حساب، وضعیت آن یا مالکیت را تایید نمیکند. مقدار آزمایشی ممکن است با حساب واقعی یکسان شود.
کدهای خطا
کدهای همین بخش و پیام دقیق کتابخانه در جدول کدهای خطا آمده است. برای شرطهای برنامه از کد استفاده کنید، نه متن پیام.
مطالب مرتبط: اعتبارسنجی، مدیریت خطا، اتصال به فریمورک.