const localePrefixes = { "fr-FR": "+33", // Ajoutez d'autres locales et leurs préfixes ici }; export function formatPhoneNumber(phoneString, fromFormat = 'XX-XX-XX-XX-XX', toFormat = 'LX-XX-XX-XX-XX', locale = "fr-FR") { // Extraire les chiffres du numéro de téléphone const digits = phoneString.replace(/\D/g, ''); // Déterminer le préfixe international en fonction de la locale let prefix = localePrefixes[locale] || ''; // Si le format d'entrée commence par 'L', détecter la locale if (fromFormat.startsWith('L')) { const detectedPrefix = phoneString.match(/^\+\d+/); if (detectedPrefix) { prefix = detectedPrefix[0]; phoneString = phoneString.replace(prefix, ''); } } // Remplacer 'L' par le préfixe et 'X' par les chiffres du numéro de téléphone let formattedNumber = toFormat.replace('L', prefix); let digitIndex = 0; formattedNumber = formattedNumber.replace(/X/g, () => { return digits[digitIndex++] || ''; }); return formattedNumber; }