Regex pour numéro de téléphone US

Utilisez /^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/ pour vérifier qu’une chaîne entière correspond à un numéro de téléphone américain valide. Chaque exemple ci-dessous est testé avec ce motif, et vous pouvez l’ouvrir dans le Testeur de Regex avec les exemples préchargés.

Mis à jour le

/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/
Ouvrir dans le Testeur de Regex
SaisieRésultatGroupes
(212) 555-0123✓ Correspond212 555 0123
212-555-0123✓ Correspond212 555 0123
+1 415.555.0199✓ Correspond415 555 0199
4155550199✓ Correspond415 555 0199
123-456-7890✗ Aucune correspondance
555-1234✗ Aucune correspondance
(212) 555-01234✗ Aucune correspondance
+44 20 7183 8750✗ Aucune correspondance

Fonctionnement du motif

ÉlémentSignification
(?:\+1[-. ]?)?Indicatif pays +1 facultatif, suivi d’un séparateur facultatif
\(?([2-9]\d{2})\)?Indicatif régional (groupe 1), éventuellement entre parenthèses ; il ne peut pas commencer par 0 ou 1
[-. ]?Tiret, point ou espace facultatif
(\d{3})Préfixe central (groupe 2)
(\d{4})Numéro de ligne (groupe 3)

Exemples de code

JavaScript

const re = /^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})', value))

PHP

preg_match('/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/', $value) === 1;

Remarques et limites

Les trois groupes permettent de normaliser n’importe quel format accepté, par exemple vers ($1) $2-$3. Pour les numéros internationaux, stockez-les au format E.164 et utilisez une bibliothèque comme libphonenumber pour une validation réelle.

Questions fréquentes

Quelle est la regex pour un numéro de téléphone US ?
/^(?:\+1[-. ]?)?\(?([2-9]\d{2})\)?[-. ]?(\d{3})[-. ]?(\d{4})$/ — elle correspond à la chaîne entière. Consultez le tableau ci-dessus pour le rôle de chaque partie.
Quels exemples correspondent ?
Parmi les exemples testés, ceux-ci correspondent : (212) 555-0123, 212-555-0123, +1 415.555.0199, 4155550199. Les autres ne correspondent pas.
Comment tester cette regex ?
Cliquez sur « Ouvrir dans le Testeur de Regex » : le motif, les indicateurs et le texte d’exemple se chargent automatiquement, et les correspondances s’affichent en surbrillance pendant que vous modifiez.