Tester la validité d'une e-mail

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 610 fois - Téléchargée 35 fois


Contenu du snippet

Cette fonction n'est pas de moi mais je sais plus d'ou il vient donc désolé pour le copyright...

Source / Exemple :


<%
Function IsValidEmail(sEMail)

    Dim sInvalidChars
    Dim bTemp
    Dim i
    Dim sTemp

    ' Caratères interdits
    sInvalidChars = "!#$%^&*()=+{}[]|\;:'/?>,< "

    ' Rechercher qu'il y a au moins un '@'
    bTemp = InStr(sEMail, "@") <= 0

    ' Rechercher qu'il y a au moins un '.'
    bTemp = bTemp Or InStr(sEMail, ".") <= 0

    ' et vérifions que la taille est plus grande que 6 caractères (a@a.ca)
    bTemp = bTemp Or Len(sEMail) < 6

    ' Vérifier qu'il y a qu'n seul '@'
     i = InStr(sEMail, "@")

     sTemp = Mid(sEMail, i + 1)

    bTemp = bTemp Or InStr(sTemp, "@") > 0

    ' Vérifier qu'il y un '.' après le '@'
    bTemp = bTemp Or InStr(sTemp, ".") = 0

    ' Vérifier la présence de (")
    bTemp = bTemp Or InStr(sEMail, Chr(34)) > 0

    ' Vérifié s'il y a des caractères interdits
    For i = 1 To Len(sEMail)
        If InStr(sInvalidChars, Mid(sEMail, i, 1)) > 0 Then _
            bTemp = True
    Next

    ' S'il y a une seule des conditions ci-dessus qui repond true alors l'e-mail est invalide
    IsValidEmail = Not bTemp

End Function
%>

<%=IsValidEmail("toto@toto.com")%><br>
ceci devrait retourner True

<%=IsValidEmail("toto.com")%><br>
ceci devrait retourner false

Conclusion :


Très pratique lorsque que vous voulez éviter que quelqu'un ne rentre une mauvaise adresse.

A voir également

Ajouter un commentaire

Commentaires

sonik1st
Messages postés
1
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
15 février 2005
-
c'est qd mm vachement plus simple et plus court avec des expressions regulières
vyse est si c'est un mail avec l'extension .ma?
ça fait 3 :)
faudrait aussi tester le nombre ce caractères après le point:
mailtest=left(sEMail,4") '.com
if instr(mailtest,".")=1 or instr(mailtest,".")=2 then
'ok

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.