mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
feat: Gestion des inscriptions [#1] feat(frontend): Création des vues pour le paramétrage de l'école [#2] feat: Gestion du login [#6] fix: Correction lors de la migration des modèle [#8] feat: Révision du menu principal [#9] feat: Ajout d'un footer [#10] feat: Création des dockers compose pour les environnements de développement et de production [#12] doc(ci): Mise en place de Husky et d'un suivi de version automatique [#14]
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
|
|
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;
|
|
}
|