VALIDATION D'UN EMAIL, EN QUELQUES LIGNES...

Signaler
-
Messages postés
43
Date d'inscription
lundi 3 juillet 2006
Statut
Membre
Dernière intervention
2 juin 2008
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/8665-validation-d-un-email-en-quelques-lignes

Messages postés
43
Date d'inscription
lundi 3 juillet 2006
Statut
Membre
Dernière intervention
2 juin 2008

Bonjour,
Et en VB.NET comment valide-t-on un e-mail?
Merci.
Messages postés
26
Date d'inscription
vendredi 26 avril 2002
Statut
Membre
Dernière intervention
4 octobre 2006

neo8310 as raison.
On enlève : var M = UnEmail.value.toLowerCase();
Et on rajoute /gi; à la place de /g; pour ignorer la casse.
Cela donne
<script langage="JavaScript">
<!--
function EmailOK(UnEmail)
{
var re = /([a-z0-9]+([-_]?[a-z0-9]+)*.)*[a-z0-9]+([-_]?[a-z0-9]+)*@([a-z0-9]+([-_]?[a-z0-9]+)*.)+[a-z]{2,4}/gi;
return (UnEmail.value.match(re) == UnEmail.value);
}
//-->
</script>
Ce test est effectivement plus efficace que l'original qui laisse passer
quelques bizarreries.
a+
Messages postés
2
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
4 octobre 2007

sivispacem manque po grand chose pour éviter le toLowerCase ... il y a une motivation particulière ou c'est juste "comme ça" ? ;-)

néanmoins elle marche bien

a++ les gens
Messages postés
26
Date d'inscription
vendredi 26 avril 2002
Statut
Membre
Dernière intervention
4 octobre 2006

J'avais fait qq chose d'équivalent le 9 novembre 2001 donc je suis devancé.
Par contre, ton expression régulière laisse passer des mails du type
_@_.xxxxxxx ce qui fait plusieurs erreurs.
Voila ce que j'utilise :

Function EmailOK(UnEmail)
' expression régulière : email de type minimum : x@x.xx
'maxi : n(nx.)nx@n(nx.)xxxx
Dim re
Set re = New RegExp ' Crée l'expression réguliere.
re.Pattern = "([a-z0-9]+([-_]?[a-z0-9]+)*.)*[a-z0-9]+([-_]?[a-z0-9]+)*@([a-z0-9]+([-_]?[a-z0-9]+)*.)+[a-z]{2,4}$"
re.IgnoreCase = True ' Définit le respect de la casse.
re.Global = True ' Définit le champ d'application
EmailOK = re.test(UnEmail)
End Function

Voila pour le code ASP.

J'utilise aussi l'équivalent Javascript :

<script langage="JavaScript">
<!--
function EmailOK(UnEmail)
{
var re = /([a-z0-9]+([-_]?[a-z0-9]+)*.)*[a-z0-9]+([-_]?[a-z0-9]+)*@([a-z0-9]+([-_]?[a-z0-9]+)*.)+[a-z]{2,4}/g;
var M = UnEmail.value.toLowerCase();
return (M.match(re) == M);
}
//-->
</script>
Afficher les 11 commentaires