Test de validité d'email

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 951 fois - Téléchargée 37 fois

Contenu du snippet

Test la validité d'un email avec la function ValidEmail.

Source / Exemple :


Function ValidEmail(sEMail)
    
    Dim sInvalidChars
    Dim bTemp
    Dim i
    Dim sTemp
    
    ' Caratères interdits
    sInvalidChars = Chr(33) & Chr(34) & Chr(35) & Chr(36) & Chr(37) & Chr(38) & Chr(39) & Chr(40) & Chr(41) & Chr(42) & Chr(43) & Chr(44) & Chr(47) & Chr(58) & Chr(59) & Chr(60) & Chr(61) & Chr(62) & Chr(63) & Chr(91) & Chr(92) & Chr(93) & Chr(94) & Chr(96) & Chr(123) & Chr(124) & Chr(125) & Chr(126) & Chr(127)
    sInvalidChars = sInvalidChars & Chr(128) & Chr(129) & Chr(130) & Chr(131) & Chr(132) & Chr(133) & Chr(134) & Chr(135) & Chr(136) & Chr(137) & Chr(138) & Chr(139) & Chr(140) & Chr(141) & Chr(142) & Chr(143) & Chr(144) & Chr(145) & Chr(146) & Chr(147) & Chr(148) & Chr(149) & Chr(150) & Chr(151) & Chr(152) & Chr(153) & Chr(154) & Chr(155)
    sInvalidChars = sInvalidChars & Chr(156) & Chr(157) & Chr(158) & Chr(159) & Chr(160) & Chr(161) & Chr(162) & Chr(163) & Chr(164) & Chr(165) & Chr(166) & Chr(167) & Chr(168) & Chr(169) & Chr(170) & Chr(171) & Chr(172) & Chr(173) & Chr(174) & Chr(175) & Chr(176) & Chr(177) & Chr(178) & Chr(179) & Chr(180) & Chr(181) & Chr(182) & Chr(183)
    sInvalidChars = sInvalidChars & Chr(184) & Chr(185) & Chr(186) & Chr(187) & Chr(188) & Chr(189) & Chr(190) & Chr(191) & Chr(192) & Chr(193) & Chr(194) & Chr(195) & Chr(196) & Chr(197) & Chr(198) & Chr(199) & Chr(200) & Chr(201) & Chr(202) & Chr(203) & Chr(204) & Chr(205) & Chr(206) & Chr(207) & Chr(208) & Chr(209) & Chr(210) & Chr(211)
    sInvalidChars = sInvalidChars & Chr(212) & Chr(213) & Chr(214) & Chr(215) & Chr(216) & Chr(217) & Chr(218) & Chr(219) & Chr(220) & Chr(221) & Chr(222) & Chr(223) & Chr(224) & Chr(225) & Chr(226) & Chr(227) & Chr(228) & Chr(229) & Chr(230) & Chr(231) & Chr(232) & Chr(233) & Chr(234) & Chr(235) & Chr(236) & Chr(237) & Chr(238) & Chr(239)
    sInvalidChars = sInvalidChars & Chr(240) & Chr(241) & Chr(242) & Chr(243) & Chr(244) & Chr(245) & Chr(246) & Chr(247) & Chr(248) & Chr(249) & Chr(250) & Chr(251) & Chr(252) & Chr(253) & Chr(254) & Chr(255)
    
    '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
    
    '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érifier la présence de (.@)
    bTemp = bTemp Or InStr(sEMail, ".@") > 0
    
    'Vérifier la présence de (@.)
    bTemp = bTemp Or InStr(sEMail, "@.") > 0
    
    'Vérifier la présence de (..)
    bTemp = bTemp Or InStr(sEMail, "..") > 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
        End If
    Next
    
    ' S'il y a une seule des conditions ci-dessus qui repond true alors l'e-mail est invalide
    ValidEmail = Not bTemp

End Function

if ValidEmail("Votre email")= true then

response.write "Le mail est valide"

else

response.write "Le mail est invalide"

end if

A voir également

Ajouter un commentaire

Commentaires

vbtom
Messages postés
229
Date d'inscription
dimanche 3 juin 2001
Statut
Membre
Dernière intervention
5 octobre 2003

Ouais ca a l'air bien ms sur la fin tu devrais utiliser les expression regulieres.
gedeef
Messages postés
70
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
16 février 2002

La construction de ta chaine (en haut) laisse rêveur !!
Tu t'es tapé 132 caractères (123..255) à la main alors qu'il suffisait de faire un simple boucle for !!!
D'autre part tu as une ligne :
'Vérifier la présence de (..)
bTemp = bTemp Or InStr(sEMail, "..") > 0
Rien que pour toi, j'ai créé une adresse manu..gedeef@schtroumphs.net
Tu peux m'yécrire si tu veux, ça marche.
cs_Jos
Messages postés
128
Date d'inscription
mardi 26 juin 2001
Statut
Membre
Dernière intervention
8 février 2005

Plusieurs failles, dans cette validation!

Permet de mettre plusieurs @.
Permet de débuter ou terminer par un . ou un @
...et j'en passe sûrement!

Une fois de plus, je réaffirme que rien ne vaut un regexp, pour valider une chaîne de caractère... dont une adresse email!!! ;-)
cs_Jos
Messages postés
128
Date d'inscription
mardi 26 juin 2001
Statut
Membre
Dernière intervention
8 février 2005

D'ailleurs, pour la validation avec RegExp, va voir là :
http://www.aspfr.com/article.asp?Val=110

Je vais faire un peu de pub à ma source!! héhé ;-)
cyril722
Messages postés
26
Date d'inscription
vendredi 1 février 2002
Statut
Membre
Dernière intervention
16 août 2002

tu connais RegExp visiblement non!!!

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.

Du même auteur (cs_pacman)