Regex pour numéro de téléphone international (E.164)

Utilisez /^\+[1-9]\d{1,14}$/ pour vérifier qu'une chaîne entière est un numéro de téléphone international (E.164) valide. Chaque exemple ci-dessous a été testé avec ce motif, et vous pouvez l'ouvrir dans le testeur de regex avec les exemples préchargés.

Mis à jour le

SaisieRésultat
+14155550199✓ Correspondance
+442071838750✓ Correspondance
+919876543210✓ Correspondance
14155550199✗ Aucune correspondance
+0123456789✗ Aucune correspondance
+1 415 555 0199✗ Aucune correspondance
+1234567890123456✗ Aucune correspondance

Fonctionnement du motif

PartieSignification
^\+Commence par un signe plus
[1-9]Les indicatifs pays ne commencent jamais par 0
\d{1,14}Jusqu'à 14 chiffres supplémentaires — E.164 autorise 15 chiffres au total
$Fin de la chaîne, donc pas d'espaces ni de tirets

Exemples de code

JavaScript

const re = /^\+[1-9]\d{1,14}$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'\+[1-9]\d{1,14}', value))

PHP

preg_match('/^\+[1-9]\d{1,14}$/', $value) === 1;

Remarques et limites

E.164 est le format attendu par Twilio, WhatsApp et la plupart des API SMS. Supprimez les espaces, tirets et parenthèses avant le test, et ajoutez l'indicatif pays si l'utilisateur ne l'a pas saisi.

Questions fréquentes

Quelle est la regex pour un numéro de téléphone international (E.164) ?
/^\+[1-9]\d{1,14}$/ — 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 : +14155550199, +442071838750, +919876543210. 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 le texte.