Comment valider les noms de domaine en PHP sans expressions régulières ?

Mary-Kate Olsen
Libérer: 2024-10-30 19:12:02
original
937 Les gens l'ont consulté

How to Validate Domain Names in PHP Without Regular Expressions?

Validation des noms de domaine PHP sans expressions régulières

De nombreux développeurs sont confrontés à la nécessité de valider les noms de domaine, en s'assurant qu'ils sont conformes à des règles de formatage spécifiques. Bien que les expressions régulières soient couramment utilisées pour cette tâche, elles peuvent être complexes et potentiellement sujettes à des erreurs. Cet article explore une solution pour valider les noms de domaine en PHP sans recourir aux expressions régulières.

Dans certaines situations, comme lorsque vous travaillez avec des systèmes existants ou lorsque vous faites face à des limitations strictes de caractères, il peut être nécessaire de valider les noms de domaine. sans recourir aux expressions régulières. La fonction suivante y parvient en implémentant une série de vérifications logiques :

<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>
Copier après la connexion

Cette fonction garantit que les noms de domaine commencent et se terminent par des caractères alphanumériques et que chaque étiquette du nom de domaine respecte les restrictions de longueur spécifiées. Il valide également la longueur totale du nom de domaine.

Cas de test

Les cas de test suivants démontrent l'efficacité de cette fonction de validation :

<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>
Copier après la connexion

En suivant ces vérifications logiques, cette fonction fournit un moyen fiable de valider les noms de domaine sans avoir besoin d'expressions régulières. Cette approche améliore la flexibilité et réduit le risque d'erreurs lors de la validation des noms de domaine en PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!