Je recherche le regex pour valider les noms d'hôtes. Il doit être entièrement conforme à la norme. En ce moment, jeLe nom d'hôte Regex
^[0-9a-z]([0-9a-z\-]{0,61}[0-9a-z])?(\.[0-9a-z](0-9a-z\-]{0,61}[0-9a-z])?)*$
mais permet hypens successifs et hostnames plus de 255 caractères. Si la regex parfaite est impossible, dites-le. Editer/Clarification: une recherche Google n'a pas révélé qu'il s'agit d'un problème résolu (ou prouvé insoluble). Je veux créer la regex définitive pour que personne n'ait à écrire la sienne. Si les dialectes importent, je veux une version pour chacun dans laquelle cela puisse être fait.
Il n'accepte pas les domaines avec "." mais sinon, ça marche. – nicerobot
Fixé. Je me demande si l'assertion de longueur devrait vérifier si elle est 254 ou moins en excluant le point de fin au lieu de simplement vérifier si elle est de 255 ou moins. Sinon, quelqu'un le long de la ligne pourrait ajouter le point final à un nom d'hôte de longueur maximale et le casser. – CannibalSmith
Le \ b avant le trait d'union empêche cela de faire correspondre des noms de domaine internationalisés valides, par ex. xn--bcher-kva.ch. –