Maison > développement back-end > tutoriel php > Comment puis-je valider de manière fiable les adresses e-mail en PHP moderne ?

Comment puis-je valider de manière fiable les adresses e-mail en PHP moderne ?

DDD
Libérer: 2024-12-11 17:23:11
original
501 Les gens l'ont consulté

How Can I Reliably Validate Email Addresses in Modern PHP?

Validation des e-mails en PHP : une approche moderne

Lorsque vous travaillez avec PHP, la validation des entrées utilisateur est cruciale pour garantir l'intégrité des données. Une tâche de validation courante consiste à vérifier les adresses e-mail. Voici une méthode simple et fiable pour la validation des e-mails à l'aide de PHP :

Utiliser filter_var() pour la validation des e-mails

La fonction filter_var() fournit un moyen pratique de valider les adresses e-mail :

$isValid = filter_var($email, FILTER_VALIDATE_EMAIL);
Copier après la connexion

Cette fonction renvoie vrai si la chaîne d'entrée est une adresse e-mail valide ou faux sinon.

Dépréciation de ereg() et remplacement par preg_match()

Dans les anciennes versions de PHP, ereg() était utilisé pour la correspondance d'expressions régulières. Cependant, dans PHP 5.3 et versions ultérieures, il est obsolète et remplacé par preg_match() :

if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email)) {
    return true;
}
Copier après la connexion

Cette expression régulière vérifie :

  • Caractères (a-z, 0-9, _ , -)
  • Points (.) séparant les caractères
  • An Signe "@"
  • Un nom de domaine (caractères de type lettre suivis de points facultatifs et d'un TLD avec 2-3 lettres)

Considérations supplémentaires

  • Sensibilité à la casse : Notez que les adresses e-mail sont insensible à la casse.
  • Validation TLD : Par défaut, filter_var() de PHP ne valide pas l'existence d'un domaine de premier niveau (TLD) dans le nom de domaine. Vous pouvez ajouter une vérification d'expression régulière pour cela si nécessaire.
  • Encodage : Si vous attendez des caractères non-ASCII dans les e-mails, envisagez d'utiliser l'extension IDNA ou d'autres bibliothèques compatibles Unicode.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal