Guide regex
Exemples de Regex Nom de Domaine
La validation des noms de domaine est utile dans les formulaires, outils DNS, panneaux d’administration, plateformes d’hébergement et paramètres d’API. Cette page propose plusieurs regex pratiques à tester et adapter.
Pattern proposé
^[A-Za-z0-9-]+\.[A-Za-z]{2,}$
Limites connues
- Ne gère pas les sous-domaines.
- N’empêche pas les tirets au début ou à la fin d’un label.
Pattern proposé
^(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$
Ce que ça matche
example.com
blog.example.com
api.dev.example.org
Limites connues
- N’empêche pas les labels commençant ou terminant par un tiret.
- Domaines ASCII uniquement.
Pattern proposé
^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}$
Ce que ça matche
example.com
blog.example.co.uk
Limites connues
- Domaines ASCII uniquement.
- Ne vérifie pas l’existence DNS réelle.
Pattern proposé
^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$
Ce que ça matche
example.com
blog.example.org
Limites connues
- Refuse les majuscules.
- Domaines ASCII uniquement.
Pattern proposé
^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}\.?$
Ce que ça matche
example.com
example.com.
api.example.org.
Limites connues
- Domaines ASCII uniquement.
- Le point final n’est pas souhaité dans tous les formulaires.
Pattern proposé
^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+(?:[A-Za-z]{2,}|xn--[A-Za-z0-9-]{2,})$
Ce que ça matche
example.com
xn--caf-dma.com
Limites connues
- Ne valide pas directement les domaines Unicode natifs.
- Vérifie seulement un format ressemblant à du punycode.
Qu’est-ce qu’un nom de domaine ?
Un nom de domaine est une adresse lisible utilisée pour identifier des sites web, services et ressources réseau.
Des exemples courants sont example.com, blog.example.com ou api.example.org.
Nom de domaine ou URL
Un nom de domaine n’est qu’une partie d’une URL complète.
Dans https://example.com/page, le domaine est example.com, tandis que l’URL complète contient aussi le protocole et le chemin.
Sous-domaines et labels
Les noms de domaine sont composés de labels séparés par des points.
Les sous-domaines ajoutent des labels avant le domaine principal, par exemple blog.example.com ou api.dev.example.com.
Erreurs fréquentes de validation
Une erreur fréquente consiste à autoriser les underscores, les espaces ou les labels qui commencent ou terminent par un tiret.
Une autre erreur consiste à vouloir prouver l’existence réelle d’un domaine avec une regex.
Une regex peut-elle vérifier qu’un domaine existe ?
Une regex peut valider le format d’un nom de domaine, mais elle ne peut pas confirmer que le domaine est enregistré ou joignable.
Une vérification réelle nécessite des recherches DNS ou des tests réseau.
Noms de domaine internationalisés
Les noms de domaine internationalisés peuvent contenir des caractères non ASCII, mais ils sont souvent représentés en interne avec punycode.
La validation regex dépend donc du choix d’accepter une saisie Unicode native ou une version punycode compatible ASCII.