UNPKG

phone-mask-uz

Version:

A flexible React component for formatting and validating Uzbekistan phone numbers

33 lines (32 loc) 1.19 kB
/** * O'zbekiston telefon raqamini formatlaydi * @param value - Kiruvchi telefon raqami * @returns Formatlangan telefon raqami */ export var normalizePhoneNumber = function (value) { // Faqat raqamlar va + belgisini qoldirish var cleanValue = value.replace(/[^+\d]/g, ""); // Agar +998 bilan boshlanmasa, default qiymat qaytarish if (!cleanValue.startsWith("+998")) return "+998 "; // +998 dan keyingi raqamlarni ajratib olish var strippedValue = cleanValue.slice(4).replace(/\s/g, ""); // Raqamlarni guruhlarga bo'lish: XX XXX XX XX var parts = [ strippedValue.slice(0, 2), strippedValue.slice(2, 5), strippedValue.slice(5, 7), strippedValue.slice(7, 9), // XX ]; // Bo'sh bo'lmagan qismlarni birlashtirish return "+998 ".concat(parts.filter(Boolean).join(" ")); }; /** * Telefon raqami to'g'ri formatda ekanligini tekshiradi * @param phone - Tekshiriladigan telefon raqami * @returns true agar raqam to'g'ri formatda bo'lsa */ export var isValidPhoneNumber = function (phone) { var cleanNumber = phone.replace(/\D/g, ""); return cleanNumber.length === 12 && cleanNumber.startsWith("998"); };