Atelier visuel de regex

Construisez, importez, expliquez, testez et partagez des regex visuellement.

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.

Nom de domaine simple

Valide un domaine basique avec un point et une extension.

Pattern proposé

^[A-Za-z0-9-]+\.[A-Za-z]{2,}$
Test rapide

Ce que ça matche

  • example.com
  • my-site.org

Limites connues

  • Ne gère pas les sous-domaines.
  • N’empêche pas les tirets au début ou à la fin d’un label.

Domaine avec sous-domaines

Valide les domaines avec un ou plusieurs labels avant l’extension.

Pattern proposé

^(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,}$
Test rapide

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.

Labels de domaine stricts

Empêche les labels de commencer ou terminer par un tiret.

Pattern proposé

^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}$
Test rapide

Ce que ça matche

  • example.com
  • blog.example.co.uk

Limites connues

  • Domaines ASCII uniquement.
  • Ne vérifie pas l’existence DNS réelle.

Nom de domaine en minuscules

Valide uniquement les noms de domaine en minuscules.

Pattern proposé

^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,}$
Test rapide

Ce que ça matche

  • example.com
  • blog.example.org

Limites connues

  • Refuse les majuscules.
  • Domaines ASCII uniquement.

Domaine avec point final optionnel

Valide les noms de domaine complets avec un point final optionnel.

Pattern proposé

^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}\.?$
Test rapide

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.

Domaine punycode

Valide les noms de domaine internationalisés compatibles ASCII via punycode.

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,})$
Test rapide

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.