
Validateur Regex JavaScript de numéros de téléphone
Le Validateur Regex JavaScript de numéros de téléphone vous permet de vérifier instantanément si une chaîne de caractères correspond à un format de numéro de téléphone valide en JavaScript. Idéal pour les formulaires de contact, les flux d'inscription ou toute application web collectant des numéros de téléphone. Utilisez-le avec notre Testeur Regex JavaScript pour construire et affiner vos propres patterns, ou associez-le au Validateur Regex Email JavaScript pour une validation complète des formulaires. Vous pouvez aussi encoder les numéros validés avec l'Encodeur Base64 ou générer des tokens sécurisés pour les systèmes de connexion par téléphone avec le Générateur de tokens.
Validateur Regex JavaScript de numéros de téléphone - Documentation
Qu'est-ce que le regex de numéros de téléphone ?
Le regex de numéros de téléphone est un pattern d'expression régulière qui vérifie si une chaîne correspond à un format de numéro valide. Le pattern peut varier selon :
Le format du pays
Mobile ou fixe
L'utilisation de symboles comme +, -, (, ) ou espaces
Pattern regex de numéro de téléphone en JavaScript
Pattern de base pour les numéros internationaux :
/^\+?[0-9]{1,4}?[-.\s]?(\(?\d{1,5}?\)?)[-.\s]?\d{1,5}[-.\s]?\d{1,9}$/Décomposition du pattern :
^\+?: + optionnel pour l'indicatif de pays[0-9]{1,4}?: chiffres de l'indicatif de pays[-.\s]?: séparateur optionnel(\(?\d{1,5}?\)?): indicatif de zone optionnel avec ou sans parenthèses\d{1,5}: préfixe ou section du numéro\d{1,9}: partie finale du numéro$: fin de chaîne
Lorsque vous créez des formulaires de collecte de numéros de téléphone, les utilisateurs peuvent saisir des numéros de nombreuses façons différentes. Par exemple, tous ces formats sont des numéros américains valides :
+1-202-555-0123
+44 20 7946 0958
(123) 456-7890
L'utilisation de [-.\s]? dans le pattern signifie que n'importe lequel de ces séparateurs (tiret, espace ou point) est autorisé, ou ils peuvent être omis entièrement.
Si vous souhaitez imposer des séparateurs cohérents (afin qu'un utilisateur ne puisse pas mélanger espace et tiret), utilisez un groupe de capture pour le séparateur et référencez-le ensuite avec une backreference. Cela garantit que si un séparateur est utilisé, il doit être identique tout au long du numéro.
Exemple de code 1 - Validation de base d'un numéro de téléphone
const phone = "+91-9876543210"; const pattern = /^\+?[0-9]{1,4}?[-.\s]?(\(?\d{1,5}?\)?)[-.\s]?\d{1,5}[-.\s]?\d{1,9}$/;
console.log(pattern.test(phone)); // true
Exemple de code 2 - Valider plusieurs numéros
const numbers = ["+1 800-123-4567", "1234567890", "(011) 2345 6789"];const pattern = /^+?[0-9]{1,4}?[-.\s]?((?\d{1,5}?)?)[-.\s]?\d{1,5}[-.\s]?\d{1,9}$/;
numbers.forEach(num => { console.log(${num} → ${pattern.test(num)}); });
Couvre un large éventail de formats
Le pattern ci-dessus est suffisamment polyvalent pour correspondre à de nombreux formats de numéros de téléphone dans le monde, notamment :
Numéros internationaux avec ou sans plus : +1 800-123-4567, +44 20 7946 0958
Formats américains et locaux : 1234567890, 123-456-7890, (123) 456-7890
Numéros avec indicatifs de zone entre parenthèses : +1 (415)-555-1212, (011) 2345 6789
Numéros avec indicatifs de pays et séparateurs variables : +12 123-456-7890, +123 075-63546725
Exemple de code 3 - Valider la saisie dans un formulaire web
<input type="text" id="phoneInput" placeholder="Entrez votre numéro de téléphone" /> <p id="status"></p><script> const pattern = /^+?[0-9]{1,4}?[-.\s]?((?\d{1,5}?)?)[-.\s]?\d{1,5}[-.\s]?\d{1,9}$/;
document.getElementById("phoneInput").addEventListener("input", function () { const isValid = pattern.test(this.value.trim()); document.getElementById("status").textContent = isValid ? "✅ Numéro valide" : "❌ Numéro invalide"; }); </script>
Pourquoi certains numéros de téléphone échouent à la validation
Certains regex exigent des séparateurs cohérents entre les groupes de chiffres. Si un pattern utilise un groupe de capture pour le premier séparateur (comme un espace) et le référence ensuite, il s'attend à ce que tous les séparateurs correspondent. Pour autoriser des séparateurs mixtes, ajustez le pattern pour que chaque position de séparateur soit correspondée indépendamment.
Comment la backreference (\1) maintient la cohérence des séparateurs
([-\s.])?capture un séparateur optionnel (tiret, espace ou point).\1impose que le même séparateur soit répété. Ainsi, "123-456-7890" correspond, mais "123-456.7890" non.
Valider uniquement le contenu numérique
Pour s'assurer qu'un numéro contient exactement 10 chiffres quel que soit le formatage :
var originalPhoneNumber = "415-555-1212";
function isValid(p) { var phoneRe = /^[2-9]\d{2}[2-9]\d{2}\d{4}$/; var digits = p.replace(/\D/g, ""); return phoneRe.test(digits); }Longueur de chiffres requise par pays
Argentine : 8 à 13 chiffres au total, ou format divisé 3 à 6 chiffres suivis de 4 à 7 chiffres.
États-Unis : Au moins 10 chiffres (hors indicatif de pays).
Union européenne : Beaucoup de pays de l'UE utilisent 9 chiffres pour les numéros locaux.
Inde : Exactement 10 chiffres, généralement avec l'indicatif +91.
Chine : Généralement 10 ou 11 chiffres. L'indicatif (+86) précède ces chiffres dans les formats internationaux.
Gérer les indicatifs de pays optionnels et les séparateurs
^(1[ -]?)?Combiné avec un numéro américain standard :
/^(1[ -]?)?\d{3}[ -]?\d{3}[ -]?\d{4}$Correspond à :
1-800-123-4567
1 800 123 4567
800-123-4567
Formats courants de numéros américains valides
Ce regex correspond à de nombreux formats réels :
202-515-5555
202 515 5555
(202)515 5555
1 202 515 5555
2025155555
1-202-515-5555
Non acceptés :
555-5555 (pour accepter, utilisez un pattern autorisant les numéros à 7 chiffres)
1 555)555-5555
123**&!!asdf#
S'assurer que le regex respecte les règles NANP
Exigences clés du NANP
Format indicatif de zone et d'échange : les deux doivent commencer par un chiffre de 2 à 9.
Restriction N11 : les indicatifs standard ne peuvent pas se terminer par "11".
Structure : format NXX-NXX-XXXX où N = [2-9] et X = [0-9].
Indicatif de pays +1 : optionnel, avec prise en charge des séparateurs courants.
Pattern regex recommandé
[2-9][0-9]{2}garantit que les codes d'indicatif et d'échange commencent par 2 à 9.Les séparateurs
[-.\s]?correspondent aux tirets, points ou espaces.Prend en charge le préfixe "+1" optionnel.
Validation stricte ou souple en JavaScript
Validation souple : accepte une grande variété de formats, réduit les frictions pour les utilisateurs. Idéale pour les inscriptions où les utilisateurs peuvent ne pas connaître le format attendu.
Validation stricte : impose un format précis. Préférable quand les processus en aval (ex. vérification SMS) nécessitent des numéros formatés de manière cohérente.
En pratique, la plupart des développeurs trouvent un équilibre : acceptent les saisies flexibles et normalisent ensuite avant de sauvegarder ou traiter.
Conseils pour une validation flexible et fiable
var originalPhoneNumber = "415-555-1212";
function isValid(p) { var phoneRe = /^[2-9]\d{2}[2-9]\d{2}\d{4}$/; var digits = p.replace(/\D/g, ""); return phoneRe.test(digits); }Conseils pro
Utilisez toujours
.trim()sur la saisie pour supprimer les espaces accidentels.Pour les numéros mobiles indiens uniquement :
/^[6-9]\d{9}$/Besoin de exactement 10 chiffres ? Comptez les chiffres :
return value.match(/\d/g).length === 10;Utilisez des patterns plus spécifiques par pays pour les numéros locaux.
Pour les applications mondiales, testez avec une variété de formats internationaux.
Pour une validation approfondie en production, envisagez des bibliothèques comme libphonenumber.
Cas d'utilisation
Formulaires d'inscription : Valider instantanément les numéros saisis.
Systèmes CRM : Filtrer et nettoyer les numéros avant leur ajout en base de données.
Automatisation marketing : S'assurer que les numéros sont corrects avant les campagnes SMS.
Applications de réservation : Éviter les saisies invalides dans les formulaires et les flux de rappel.
Combiner avec ces outils
Testeur Regex JavaScript : Construire ou tester des patterns regex personnalisés.
Validateur Regex Email JavaScript : Utiliser avec les formulaires collectant téléphone et email.
Validateur Regex UUID JavaScript : Taguer les utilisateurs par UUID après validation du numéro.
Encodeur Base64 : Encoder sécurisément les numéros validés pour le stockage ou les API.
Générateur de tokens : Utiliser dans les flux de vérification d'inscription avec OTP ou authentification SMS.
Frequently Asked Questions
Ce regex peut-il valider tous les formats mondiaux ?
Vérifie-t-il si le numéro est actif ?
Pourquoi les parenthèses sont-elles autorisées ?
Le signe plus (+) est-il obligatoire ?
Quelle est la meilleure façon de nettoyer la saisie utilisateur avant le regex ?
Comment créer une expression régulière n'autorisant que certains caractères (chiffres, +, (), -, ., espaces) dans les numéros de téléphone ?
Pourquoi est-il important d'adapter le nombre minimum et maximum de chiffres selon le pays ?
Related Articles



Testez vos API dès aujourd'hui !
Rédigez en langage naturel, Qodex génère des tests sécurisés et prêts à l'emploi.



