Est-ce une adresse mail valide ?

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 859 fois - Téléchargée 30 fois

Contenu du snippet

Renvoi True si l'adresse est valide et False dans le cas contraire. Vous constaterez que je vérifie un tableau de caractères interdits en passant par leur code ASCII respectif. Cela est dû au fait que la méthode "indexof" est buggée. En effet, les caractères 230 et 97 au niveau caractères sont considérés comme égaux pour cette méthode ...

A la demande générale, je modifie la source avec une expression regulière !

Source / Exemple :


Public Function IsValidEmail(ByVal Adresse As String) As Boolean
Dim reg As New Regex("^([a-zA-Z0-9]+(([\.\-_]?[a-zA-Z0-9]+)+)?)\@(([a-zA-Z0-9]+[\.\-_])+[a-zA-Z]{2,4})$")
        'Dim Reg As New Regex("[a-Z]{1}[0-9a-Z]*[@]{1}[0-9a-Z]*.[a-Z]{2,4}")
        Dim Mc As MatchCollection = Reg.Matches(Adresse)
        Dim s As Boolean

        If Mc.Count <> 1 Then
            s = False
        Else
            s = True
        End If

        Return s
End Function

Conclusion :


Voila il semble que ce soit sinon parfait mais presque !

A voir également

Ajouter un commentaire

Commentaires

Cyberdevil
Messages postés
483
Date d'inscription
mardi 10 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2006
-
on aurait pu faire plus simple en utiliser les expression régulière.. bon j dit ça comme ça, car moi-même, je ne sais pas utiliser les reg exp.... mais c'est pas mal..

8/10
cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
82 -
Oui ok, mais qu'est qui te dit que l'adresse existe vraiment... c'est ca surtout le plus intéressant !

DarK Sidious
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57 -
const ForbiddenChar = """'@*+=.%"

public Function IsValidMailAddress ( Mail as string ) as boolean
Dim Reg As new RegExp
Reg.pattern = "[^" & ForbiddenChar & "]+@[^" & ForbiddenChar & "]+.[^" & ForbiddenChar & "]+"
IsValidMailAddress = Reg.test ( Mail )
end function

'En gros, on dis qu'il faut au moins un caractere non interdit, suivi d'un @, puis d'autres caracteres non interdits, un point, et enfin un ou plus caracteres non interdits....

la liste des caracteres interdits n'est ici surement pas exhaustive...
Cyberdevil
Messages postés
483
Date d'inscription
mardi 10 juillet 2001
Statut
Membre
Dernière intervention
12 juillet 2006
-
a ce moment pour etre plus précis, tu fait un ping sur l'host et tu regarde si ça répond.... car sinon c'est impossible il me semble de vérifier lexistance de "l'adresse" en elle meme (ce qui a avant le @ quoi)... a moins que le serv donne cet info
A+
cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
82 -
Cyberdevil >> comment faire un ping sur le serveur de mail ?

DarK Sidious

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.