Merge branch 'master' into feature/cases

This commit is contained in:
2026-07-10 15:26:36 +03:30
68 changed files with 2497 additions and 604 deletions

View File

@@ -0,0 +1,20 @@
const IRAN_MOBILE_PATTERN = /^9\d{9}$/;
/** Normalize Iranian mobile to sms.ir format (e.g. 9123456789). */
export function normalizeIranMobile(input: string): string {
let digits = input.replace(/\D/g, '');
if (digits.startsWith('98') && digits.length === 12) {
digits = digits.slice(2);
}
if (digits.startsWith('0') && digits.length === 11) {
digits = digits.slice(1);
}
return digits;
}
export function isValidIranMobile(input: string): boolean {
return IRAN_MOBILE_PATTERN.test(normalizeIranMobile(input));
}