VERIFICATION SI UN E-MAIL SAISI EST VALIDE

Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
- - Dernière réponse : WhiteMagus
Messages postés
774
Date d'inscription
lundi 21 juin 2004
Statut
Membre
Dernière intervention
5 février 2010
- 11 sept. 2009 à 10:33
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/50470-verification-si-un-e-mail-saisi-est-valide

WhiteMagus
Messages postés
774
Date d'inscription
lundi 21 juin 2004
Statut
Membre
Dernière intervention
5 février 2010
-
Hello.

Il n'existe pas de solution directe avec flash pour valider l'existence d'une adresse mail... C'est un peu rapide de critiquer, cette vérification est la seule possible depuis un swf, et est efficace suivie d'une validation en suivant un lien dans un mail envoyé par le serveur. Pas très originale, mais efficace.

Il existe cependant un moyen de tester l'existence d'une adresse mail en AS3, mais en appli AIR seulement, car il faut utiliser les sockets. Il faut en effet envoyer une requête type RCPT TO suivie du chemin de(s) adresses mails/domaines et si l'adresse existe, le serveur renvoie un petit "250 OK".

Voilà, c'est des souvenirs de mes quelques bidouillages sur les protocoles de mailing. Une classe de mailing est dispo sur bytearray.org, et c'est une bonne base pour débuter les protocoles.

Bye
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
Et quelle est cette solution ?

Peg'
Admin Codes-Sources
smaleix
Messages postés
1
Date d'inscription
jeudi 15 mai 2003
Statut
Membre
Dernière intervention
24 août 2009
-
Si vous pouviez arrêter de mettre valide pour cette vérification de conformité ! Ce n'est pas parce que le format est correct que l'adresse est valide ! Il y a une solution pour savoir si une adresse est valide ou du moins qu'elle existe mais comme je ne connais pas as3, je ne peux pas traduire.
hadjle
Messages postés
8
Date d'inscription
mercredi 22 juillet 2009
Statut
Membre
Dernière intervention
21 août 2009
-
bon rien a voir je l' avoue
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
calcule ne nombre d'instructions qui sont exécutés avec ta méthode et compare-le à celle que nous t'avons proposés, et tu comprendras pourquoi.
Sans parler du nombre de lignes utilisées.

Tu es amateur, c'est justement pour ça que nous te proposons des méthodes qui te permettrons d'avancer.

Peg'
hadjle
Messages postés
8
Date d'inscription
mercredi 22 juillet 2009
Statut
Membre
Dernière intervention
21 août 2009
-
je sens bien que tu n'aimes pas la boucle for
heureusement que j' ai utilisé une pause " break"
en plus j' ai bien préciser au formulaire d' inscription que je suis un "amateur"
cs_bali_balo
Messages postés
1381
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
-
oui en effet la classe RegExp c'est en AS3
Personnellement je ne le métrise pas encore parfaitement mais c'est un bout de code que j'utilise souvent.
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
après tu ajoutes ce que bon te semble dans les conditions, moi je ne te donne que la méthode ...
La meilleure solution restant celle de Bali Balo, mais pas disponible dans ton cas.

Peg'
hadjle
Messages postés
8
Date d'inscription
mercredi 22 juillet 2009
Statut
Membre
Dernière intervention
21 août 2009
-
id2-id1 >1 [XXX@.XXXXX]
et id2< (theEmail.length+1)[XXXX@XXX.X]
et id1>1[@XXXXX.XXXX]
hadjle
Messages postés
8
Date d'inscription
mercredi 22 juillet 2009
Statut
Membre
Dernière intervention
21 août 2009
-
merci
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
alors ajoute simplement id2>(id+1) (et c'était id1<id2, il faut être précis en programmation).

Peg'
hadjle
Messages postés
8
Date d'inscription
mercredi 22 juillet 2009
Statut
Membre
Dernière intervention
21 août 2009
-
*serait DSL
hadjle
Messages postés
8
Date d'inscription
mercredi 22 juillet 2009
Statut
Membre
Dernière intervention
21 août 2009
-
si tu as bien essayé mon code tu ne trouveras pas ce probleme
en plus en ajoutant la condition id1> id2
"hadj@." searit valide
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
oui, comme dans ton code.
Mais il suffit de faire une condition supplémentaire : "id1<id2" et le tour est joué.

Peg'
hadjle
Messages postés
8
Date d'inscription
mercredi 22 juillet 2009
Statut
Membre
Dernière intervention
21 août 2009
-
@bali baloo j aime bien kalaa kbira ; kalaa sghira aussi ;)
hadjle
Messages postés
8
Date d'inscription
mercredi 22 juillet 2009
Statut
Membre
Dernière intervention
21 août 2009
-
@ pegasme : merci bcps pour l encouragement,
ds ton code un email saisi " hadj.mansour@ " serait valide ??
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
attention, le RegExp n'est dispo qu'en AS3 .. son script est en AS2 !

Peg'
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
'y a ça aussi, mais j'ai essayé d'être léger ;)

Peg'
cs_bali_balo
Messages postés
1381
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
-
cs_bali_balo
Messages postés
1381
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
-
ou "encore" : pardon ;)
cs_bali_balo
Messages postés
1381
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2010
-
Ou encone avec les expressions régulières :

function isValidEmail(email:String):Boolean {
var emailExpression:RegExp = /^[a-z][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i;
return emailExpression.test(email);
}
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
Bonjour, les boucles "for" sont inutiles pour les vérifications de présence du "@" et du "." dans l'adresse.
Pour celà il existe la fonction "String.lastIndexOf()" qui s'applique comme suit dans ton cas :

var id1:int = theEmail.lastIndexOf("@");
var id2:int = theEmail.lastIndexOf(".");
if (id1!=-1 && id1>=1 && id2!=-1 && id2>=3) {
trace ("mail valide")
} else {
trace ("mail pas valide")
}

Peg'