رفتن به محتوای اصلی

شماره شبا

فیلد شبا (IBAN ایران) با IR خودکار، گروه‌بندی، لوگو و نام بانک و بررسی رقم‌های کنترل.

import { IbanInput } from "@kashi-ui/react";

نمونه

فقط ارقام را تایپ کنید؛ «IR» خودکار اضافه می‌شود. با تایپ ارقام ۳ تا ۵ (کد بانک)، لوگو و نام بانک نمایش داده می‌شوند.

بعد از ۵ رقم اول، بانک تشخیص داده می‌شود.

<IbanInput
label="شماره شبا"
name="iban"
onValueChange={(iban, valid, bank) => console.log(iban, valid, bank)}
/>

رفتار

  • ورودی آزاد: شبا با یا بدون «IR»، با فاصله یا بدون آن، و با ارقام فارسی یا انگلیسی پذیرفته می‌شود.
  • اعتبارسنجی: رقم‌های کنترل با استاندارد ISO 13616 (باقیماندهٔ ۹۷) بررسی می‌شوند؛ هر رقم اشتباه یا جابه‌جایی ارقام مجاور تشخیص داده می‌شود.
  • مقدار: همیشه به شکل IR + ۲۴ رقم بدون فاصله به شما داده می‌شود.
  • ارقام: شبا معمولاً با ارقام انگلیسی نوشته می‌شود؛ برای ارقام فارسی digits="fa" بدهید.

ویژگی‌ها

نامنوعپیش‌فرضتوضیح
valuestring—شبای کنترل‌شده، با یا بدون IR
defaultValuestring—مقدار اولیه
onValueChange(iban: string, valid: boolean, bank: string | null) => void—با هر تغییر
digits"fa" | "latin""latin"خط ارقام نمایشی
showBankbooleantrueنمایش نام بانک
showBankLogobooleantrueنمایش لوگوی بانک (بارگذاری تنبل)
invalidMessageReactNode"شماره شبا معتبر نیست."پیام خطا
namestring—نام فیلد مخفی فرم با مقدار IR…

بدون React

import { isValidIban, getBankByIban, formatIban } from "@kashi-ui/persian";

isValidIban("IR06 2960 0000 0010 0324 2000 01");
getBankByIban("IR..0170...")?.name;   // "بانک ملی"
formatIban("062960000000100324200001"); // "IR06 2960 0000 0010 0324 2000 01"

دسترس‌پذیری

  • نام بانک با aria-describedby به فیلد متصل است؛ لوگو تزئینی است (alt="") تا صفحه‌خوان نام بانک را دو بار نخواند.