Heim > Artikel > Backend-Entwicklung > Können Domainnamen in PHP ohne reguläre Ausdrücke validiert werden?
Die Validierung von Domainnamen ohne reguläre Ausdrücke wird aus potenziellen Sicherheitsgründen nicht empfohlen Schwachstellen und inkonsistente Ergebnisse. Reguläre Ausdrücke bieten einen robusten und standardisierten Ansatz zur Gewährleistung der Genauigkeit.
Um Domänennamen mithilfe regulärer Ausdrücke zu validieren, berücksichtigen Sie das folgende Muster:
^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i
Dieser Ausdruck umfasst mehrere Kriterien:
Eine verbesserte PHP-Funktion für die Validierung von Domainnamen:
<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 |