Maison  >  Article  >  développement back-end  >  Comment valider les noms de domaine en PHP sans expressions régulières ?

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-30 19:12:02938parcourir

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>

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>

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!

Déclaration:
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