feat(frontend): add card-to-iban interface

This commit is contained in:
2026-09-21 15:08:41 +03:30
parent ff76c69ab1
commit 3bbdae60db
11 changed files with 602 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
const persianDigits = '۰۱۲۳۴۵۶۷۸۹'
const arabicDigits = '٠١٢٣٤٥٦٧٨٩'
export function normalizeCard(value: string): string {
return value
.replace(/[۰-۹]/g, (digit) => String(persianDigits.indexOf(digit)))
.replace(/[٠-٩]/g, (digit) => String(arabicDigits.indexOf(digit)))
.replace(/[\s-]/g, '')
}
export function validCard(value: string): boolean {
return /^\d{16}$/.test(value)
}
export function formatCard(value: string): string {
const digits = normalizeCard(value).replace(/\D/g, '').slice(0, 16)
return digits.replace(/(\d{4})(?=\d)/g, '$1 ')
}
export function formatIBAN(value: string): string {
return value.replace(/(.{4})(?=.)/g, '$1 ')
}