J'ai besoin de valider un nom de domaine :
google.com
stackoverflow.com
Ainsi, un domaine dans sa forme la plus brute - même pas un sous-domaine comme www.
- Les caractères ne doivent être a-z | A-Z | 0-9 et période (.) et tableau de bord (-)
- Le nom de domaine ne doit pas commencer ou se terminer par un tiret (-). (par exemple, -google-.com)
- Le nom de domaine doit comporter entre 1 et 63 caractères.
L'extension (TLD) peut être n'importe quoi selon les règles du #1 pour l'instant, je pourrais les valider par rapport à une liste plus tard, elle devrait être de 1 ou plusieurs caractères cependant.
Edit : TLD est apparemment de 2 à 6 personnages en l'état actuel des choses.
n°. 4 révisé : Le TLD devrait en fait être étiqueté "sous-domaine" car il devrait inclure des choses comme .co.uk -- J'imagine que la seule validation possible (à part la vérification par rapport à une liste) serait "après le premier point, il devrait y avoir un ou plusieurs caractères selon les règles #1".
Merci beaucoup, croyez-moi, j'ai essayé !
0 votes
Il serait judicieux d'envisager la validation des URI plutôt que celle des noms de domaine. Consultez le document IETF RFC3986.
1 votes
Peut ne pas être utile du tout. Pour ce qui est de google.co.uk et de certains domaines japonais, je suis sûr que vous devrez réfléchir à deux fois avant d'utiliser des expressions rationnelles. Je pense personnellement que l'expression géographique n'est pas suffisante pour valider un domaine par rapport à un domaine réel. Pour votre information, voici une liste presque complète des tlds et des codes pays des domaines de second niveau : statique.ayesh.me/misc/SO/tlds.txt
2 votes
Voir ma réponse à la question connexe sur validation du nom d'hôte .
2 votes
On l'oublie souvent : Pour les noms de domaine complets, vous devez ajouter un point après le tld.
0 votes
Veuillez noter qu'un grand nombre de nouveaux TLD sont en train de voir le jour. Et certains sont assez longs, par exemple xn--vermgensberatung-pwb est un TLD valide et fait 24 caractères de long :p
0 votes
Voir stackoverflow.com/a/16491074/112731
1 votes
Cela fait 4 ans, maintenant le compte est à 89,000
2 votes
Certaines de ces réponses sont plutôt bonnes, mais il y en a aussi une autre. bonne réponse à cette autre question qui vaut le coup d'œil.
1 votes
Félicitations pour avoir posé la 10 000e question sur les regex !
0 votes
Le .co.uk n'est pas un TLD et je giflerais toute personne qui prétendrait le contraire. Arrêtez d'embrouiller les gens en répétant la même erreur. Le TLD est .uk et co.uk est un SLD, ce qui en fait un sous-domaine de .uk.