Wie validiere ich Domänennamen in PHP ohne reguläre Ausdrücke?

Mary-Kate Olsen
Freigeben: 2024-10-30 19:12:02
Original
937 Leute haben es durchsucht

How to Validate Domain Names in PHP Without Regular Expressions?

PHP-Domänennamenvalidierung ohne reguläre Ausdrücke

Viele Entwickler stehen vor der Notwendigkeit, Domänennamen zu validieren und sicherzustellen, dass sie bestimmten Formatierungsregeln entsprechen. Für diese Aufgabe werden zwar häufig reguläre Ausdrücke verwendet, diese können jedoch komplex und potenziell fehleranfällig sein. In diesem Artikel wird eine Lösung zur Validierung von Domänennamen in PHP untersucht, ohne auf reguläre Ausdrücke angewiesen zu sein.

In bestimmten Situationen, beispielsweise bei der Arbeit mit Legacy-Systemen oder beim Umgang mit strengen Zeichenbeschränkungen, kann es erforderlich sein, Domänennamen zu validieren ohne auf reguläre Ausdrücke zurückzugreifen. Die folgende Funktion erreicht dies durch die Implementierung einer Reihe logischer Prüfungen:

<code class="php">function is_valid_domain_name($domain_name)
{
    // Validate alphanumeric characters
    if (!preg_match("/^[a-zA-Z0-9]+$/", $domain_name)) {
        return false;
    }

    // Validate length of each label
    $labels = explode(".", $domain_name);
    foreach ($labels as $label) {
        if (strlen($label) < 1 || strlen($label) > 63) {
            return false;
        }
    }

    // Validate overall length
    if (strlen($domain_name) > 253) {
        return false;
    }

    return true;
}</code>
Nach dem Login kopieren

Diese Funktion stellt sicher, dass Domänennamen mit alphanumerischen Zeichen beginnen und enden und dass jede Beschriftung innerhalb des Domänennamens die angegebenen Längenbeschränkungen einhält. Außerdem wird die Gesamtlänge des Domainnamens validiert.

Testfälle

Die folgenden Testfälle demonstrieren die Wirksamkeit dieser Validierungsfunktion:

<code class="php">is_valid_domain_name? [a]                       Y
is_valid_domain_name? [0]                       Y
is_valid_domain_name? [a.b]                     Y
is_valid_domain_name? [localhost]               Y
is_valid_domain_name? [google.com]              Y
is_valid_domain_name? [news.google.co.uk]       Y
is_valid_domain_name? [xn--fsqu00a.xn--0zwm56d] Y
is_valid_domain_name? [goo gle.com]             N
is_valid_domain_name? [google..com]             N
is_valid_domain_name? [google.com ]             N
is_valid_domain_name? [google-.com]             N
is_valid_domain_name? [.google.com]             N
is_valid_domain_name? [<script]                 N
is_valid_domain_name? [alert(]                  N
is_valid_domain_name? [.]                       N
is_valid_domain_name? [..]                      N
is_valid_domain_name? [ ]                       N
is_valid_domain_name? [-]                       N
is_valid_domain_name? []                        N</code>
Nach dem Login kopieren

Durch die Befolgung dieser logischen Prüfungen bietet diese Funktion eine zuverlässige Möglichkeit, Domänennamen zu validieren, ohne dass reguläre Ausdrücke erforderlich sind. Dieser Ansatz erhöht die Flexibilität und verringert das Fehlerpotenzial bei der Validierung von Domänennamen in PHP.

Das obige ist der detaillierte Inhalt vonWie validiere ich Domänennamen in PHP ohne reguläre Ausdrücke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!