Maison > développement back-end > C++ > La validation par e-mail de l'expression régulière est-elle fiable ou devrions-nous utiliser une approche différente?

La validation par e-mail de l'expression régulière est-elle fiable ou devrions-nous utiliser une approche différente?

Linda Hamilton
Libérer: 2025-01-24 09:16:13
original
531 Les gens l'ont consulté

Is Regular Expression Email Validation Reliable, or Should We Use a Different Approach?

Validation des e-mails par expressions régulières et ses pièges

Malgré l'utilisation généralisée des expressions régulières pour valider les adresses e-mail, une expression courante comme celle fournie soulève des inquiétudes quant à son efficacité. L'expression régulière en question vise à capturer :

  • Domaine de premier niveau (lettres, chiffres, points, traits d'union)
  • Domaine de deuxième niveau (lettres, traits d'union)
  • Autres domaines de niveau (points, 2-3 lettres)

Cependant, il existe des limites inhérentes à cela approche :

1. TLD sans correspondance :

Les TLD longs, tels que .museum, ne correspondent pas à l'expression régulière. De plus, il ne parvient pas à valider les adresses e-mail avec certains TLD moins courants.

2. Manque de robustesse :

L'expression régulière peut ne pas gérer efficacement les cas extrêmes. Par exemple, les adresses e-mail contenant des espaces ou des TLD manquants peuvent échapper à la validation.

Une approche alternative

Au lieu de vous fier aux expressions régulières, envisagez d'utiliser System.Net. Classe Mail.MailAddress pour valider les adresses e-mail. Microsoft recommande cette approche en raison de sa plus grande précision :

public bool IsValid(string emailaddress)
{
    try
    {
        MailAddress m = new MailAddress(emailaddress);

        return true;
    }
    catch (FormatException)
    {
        return false;
    }
}
Copier après la connexion

Cette méthode évite le besoin de modèles d'expressions régulières complexes, réduisant ainsi les erreurs potentielles et améliorant la fiabilité de la validation des e-mails.

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 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