const PERSIAN_DIGITS = '۰۱۲۳۴۵۶۷۸۹' const ARABIC_DIGITS = '٠١٢٣٤٥٦٧٨٩' /** تبدیل ارقام فارسی/عربی و جداکننده اعشار به فرمت انگلیسی */ export function persianToEnglishDigits(value: string | number | null | undefined): string { if (value == null) { return '' } return String(value) .replace(/[۰-۹]/g, (d) => String(PERSIAN_DIGITS.indexOf(d))) .replace(/[٠-٩]/g, (d) => String(ARABIC_DIGITS.indexOf(d))) .replace(/٫/g, '.') } export function shouldNormalizeInputDigits(options: { isPassword?: boolean type?: string inputmode?: string }): boolean { if (options.isPassword) { return false } if (options.type === 'price' || options.type === 'number') { return true } const mode = String(options.inputmode ?? '').trim().toLowerCase() return mode === 'numeric' || mode === 'decimal' || mode === 'number' }