Heim >Backend-Entwicklung >PHP-Tutorial >Können Domainnamen in PHP ohne reguläre Ausdrücke validiert werden?

Können Domainnamen in PHP ohne reguläre Ausdrücke validiert werden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 19:29:30672Durchsuche

Can Domain Names Be Validated in PHP Without Regular Expressions?

Validierung von Domainnamen in PHP

Kann die Validierung ohne reguläre Ausdrücke erfolgen?

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.

Regex-Muster für die Validierung von Domänennamen

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:

  • Gültige Zeichen: Stellt sicher, dass Domainnamen nur alphanumerische Zeichen, Bindestriche und Punkte enthalten.
  • Gesamtlänge : Domain-Namen dürfen nicht länger als 253 Zeichen sein.
  • Einzelne Etikettenlänge: Jedes Etikett (der durch Punkte getrennte Teil) darf 63 Zeichen nicht überschreiten.

Benutzerdefinierte Validierungsfunktion

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)
            &amp;&amp; preg_match("/^.{1,253}$/", $domain_name)
            &amp;&amp; preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name));
}</code>

Testfälle

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
No
alert( No
. No
.. No
No
- No
No

Das obige ist der detaillierte Inhalt vonKönnen Domainnamen in PHP ohne reguläre Ausdrücke validiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn