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

Barbara Streisand
Libérer: 2024-10-31 06:37:01
original
899 Les gens l'ont consulté

How to Validate Domain Names in PHP: With or Without Regular Expressions?

Comment valider les noms de domaine en PHP

Lorsque vous travaillez avec des domaines, garantir leur validité devient crucial pour empêcher les activités malveillantes ou les saisies erronées. Dans cet article, nous explorerons comment valider les noms de domaine en PHP, avec et sans utiliser d'expressions régulières.

Validation sans expressions régulières

Bien que cela ne soit pas recommandé en raison de limitations potentielles, il est possible pour effectuer une validation de nom de domaine de base sans expressions régulières. Il s'agit de vérifier les critères suivants :

  • Le nom de domaine doit commencer par un caractère alphanumérique.
  • Il peut contenir des caractères alphanumériques supplémentaires ou des tirets.
  • Il doit se terminer avec un caractère alphanumérique.

Par exemple, les chaînes suivantes seraient considérées comme des domaines valides :

domain-name
abcd
example
Copier après la connexion

Alors que les chaînes suivantes seraient invalides :

domaia@name
ab$%cd
Copier après la connexion

Validation à l'aide d'expressions régulières

Les expressions régulières fournissent une méthode plus robuste et plus fiable pour valider les noms de domaine. Le modèle d'expression régulière suivant peut être utilisé à cette fin :

/^[a-zA-Z0-9][a-zA-Z0-9\-\_]+[a-zA-Z0-9]$/
Copier après la connexion

Exemple de code

La fonction PHP suivante valide les noms de domaine à l'aide du modèle d'expression régulière fourni :

<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) //valid chars check
        && preg_match("/^.{1,253}$/", $domain_name) //overall length check
        && preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name) //length of each label
    );
}</code>
Copier après la connexion

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!