در حال آمادهسازی
اعتبارسنجی شمارههای هویتی و بانکی ایران در TypeScript
کارت شتاب، کد ملی، شناسهٔ ملی، کد اقتصادی، شبا، موبایل، تلفن ثابت و کد پستی، بدون وابستگی، در مرورگر، Node، Bun و Deno. ارقام فارسی و عربی خودکار به ارقام لاتین تبدیل میشوند.
نمونه
import {
bankNameFaFromPan,
isIranianPan,
isValidIranianIban,
isValidIranianMobile,
isValidNationalCode,
} from "@pixevel/iran";
isIranianPan("6037-9911-2233-4455"); // true
bankNameFaFromPan("6037991122334455"); // "بانک ملی ایران"
isValidNationalCode("۰۰۱۳۵۴۲۴۱۹"); // true — Persian digits fold to ASCII
isValidIranianIban("IR49 0170 0000 0000 1234 5678 90"); // true
isValidIranianMobile("+989121234567"); // trueچه چیزی را بررسی میکند
- کارت بانکی (شتاب)
- 16 رقم. الگوریتم لون جداگانه است و اجباری نیست.
isIranianPannormalizePanisLuhn- بانک صادرکننده
- نخست پیشوند 8 رقمی نئوبانکها، سپس IIN 6 رقمی.
bankFromPanbankNameFaFromPan- کد ملی
- 10 رقم با رقم کنترل رسمی؛ کدی که همهٔ رقمهایش یکسان باشد رد میشود.
isValidNationalCodenormalizeNationalCode- شناسهٔ ملی اشخاص حقوقی
- 11 رقم با رقم کنترل اشخاص حقوقی.
isValidLegalIdnormalizeLegalId- کد اقتصادی
- 12 رقم که همه یکسان نباشند. رقم کنترل عمومی ندارد.
isValidEconomicCodenormalizeEconomicCode- شبا (IBAN)
- IR و 24 رقم، ISO 13616. اگر فقط 24 رقم چسبانده شود IR اضافه میشود.
isValidIranianIbannormalizeIbanformatIbanDisplay- موبایل
- 09 و سپس 9 رقم؛ +98، 0098 و 9 ابتدایی یکسان میشوند.
isValidIranianMobilenormalizeMobileformatMobileDisplay- تلفن ثابت یا موبایل
- 11 رقم با صفر ابتدایی؛ ورودی حرفدار رد میشود و عدد هرگز کوتاه نمیشود.
isValidIranianPhonenormalizeIranianPhoneisValidIranianLandline- کد پستی
- 10 رقم، بدون صفر ابتدایی، نه همه یکسان.
isValidPostalCodenormalizePostalCode- نام فارسی اشخاص
- حروف فارسی، نیمفاصله مجاز، 2 تا 100 نویسه؛ ي و ك عربی به ی و ک تبدیل میشوند.
isPersianPersonNamenormalizePersonName