Validation d'un e-mail avec l'expression régulière VB.Net
Je travaille sur un petit projet en VB.Net où je reçois une entrée à partir d'une zone de texte, et de la nécessité de vérifier que c'est un e-adresse e-mail.
J'ai trouvé cette expression "^[_a-z0-9-]+(.[_a-z0-9-]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,4})$", mais je ne peux trouver aucun moyen de tester si ça passe.
Je veux un code comme:
if not txtEmail.text = regexString then
something happens..
else
something else happens..
end if
source d'informationauteur AndersE
Vous devez vous connecter pour publier un commentaire.
Utiliser le
System.Text.RegularExpressions.Regex
classe:La chose la plus importante à comprendre au sujet de cette réponse, c'est que je n'ai pas d'écrire l'expression régulière de moi-même. Il y a tellement de mauvaises manières qui semblent être à droite, et il y a plusieurs niveaux de détail que vous pourriez profiter de cette. Par exemple, voulez-vous de les restreindre à des domaines de premier niveau, et si oui, comment allez-vous tenir compte du fait qu'ils sont maintenant parfois l'ajout de nouveaux Tld? Si l'expression régulière, à l'endroit le plus approprié pour ce test, ou doivent avoir un code pour le contrôle? Même l'expression de cette réponse est aujourd'hui très fade, car il a été l'auteur à l'origine. Ce que je recommande est de trouver une ressource que vous pouvez utiliser pour l'expression que vous savez sera maintenue.
Choisissez votre favori regex de mon article sur la correspondance des adresses e-mail avec une regexet de le brancher sur ce code Visual Basic:
La meilleure expression régulière pour rechercher une adresse e-mail est un sujet controversé que je ne veux pas entrer dans les ici. Mon article décrit les problèmes que vous devez être conscient lors de la sélection d'une regex. La regex dans Joel Coehoorn la réponse est définitivement pas un bon.
Il existe un grand site web pour ce genre de chose, http://regexlib.com/. Non seulement a-t-elle un testeur de l'application où vous pouvez la coller dans une expression régulière et de le tester, mais il y a aussi une bibliothèque d'expressions régulières, vous pouvez utiliser les commentaires de la communauté sur leur validité, etc. Je ne suis pas une regex gourou, donc ici, je vais quand j'ai besoin d'un moyen rapide d'expression régulière.
Aussi, si vous envisagez de développer des expressions régulières vous-même, il est un excellent outil, Regex Copain qui vous permettra de créer et de tester vos expressions régulières à la volée en utilisant un facile de comprendre l'anglais à l'interprétation de votre regex.
Éventuellement hors-sujet, car ce n'est pas une regex solution, mais vous pouvez simplement utiliser certaines des fonctions intégrées de .NET 2.0:
Que la regex n'est pas vraiment complet... en fait... la plupart ne le sont pas (découvrez cet articleou cette une).
À moins que vous vraiment profiter de la douleur, de la regex n'est pas la bonne façon de valider une adresse e-mail.
Adresse e-mail: RFC 2822 (simplifié)
Correspond à une normale adresse e-mail. Ne pas vérifier le domaine de premier niveau.
Exige la "casse" pour être SUR.