فهرست مستندات پروژه

شماره شبا

Abzar0.8.1مشاهده منبعفارسی / انگلیسی

بررسی شبای ایرانی با 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 رخ می‌دهد.

این بررسی وجود حساب، وضعیت آن یا مالکیت را تایید نمی‌کند. مقدار آزمایشی ممکن است با حساب واقعی یکسان شود.

کدهای خطا

کدهای همین بخش و پیام دقیق کتابخانه در جدول کدهای خطا آمده است. برای شرط‌های برنامه از کد استفاده کنید، نه متن پیام.

مطالب مرتبط: اعتبارسنجی، مدیریت خطا، اتصال به فریم‌ورک.

جستجو در مستندات

در همه پروژه‌ها جستجو کنید. با بستن این پنجره به راهنما برمی‌گردید.

Tab برای جابه‌جایی · Enter برای باز کردنEsc برای بستن