Files
dyolink/backend/src/common/utils/mobile.util.ts

21 lines
540 B
TypeScript
Raw Normal View History

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));
}