Maison >développement back-end >tutoriel php >Les noms de domaine peuvent-ils être validés en PHP sans expressions régulières ?
La validation des noms de domaine sans expressions régulières n'est pas recommandée en raison de la sécurité potentielle vulnérabilités et résultats incohérents. Les expressions régulières offrent une approche robuste et standardisée pour garantir l'exactitude.
Pour valider les noms de domaine à l'aide d'expressions régulières, considérez le modèle suivant :
^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i
Cette expression comprend plusieurs critères :
Une fonction PHP améliorée pour la validation des noms de domaine :
<code class="php">function is_valid_domain_name($domain_name) { return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name) && preg_match("/^.{1,253}$/", $domain_name) && preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name)); }</code>
Domain Name | Validation Result |
---|---|
a | Yes |
0 | Yes |
a.b | Yes |
localhost | Yes |
google.com | Yes |
news.google.co.uk | Yes |
xn--fsqu00a.xn--0zwm56d | Yes |
goo gle.com | No |
google..com | No |
google.com | No |
google-.com | No |
.google.com | No |
|