VERIFICATION SI UN E-MAIL SAISI EST VALIDE

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 21 août 2009 à 14:56
WhiteMagus Messages postés 764 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 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
11 sept. 2009 à 10:33
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 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 août 2009 à 05:12
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
24 août 2009 à 05:00
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
21 août 2009 à 16:44
bon rien a voir je l' avoue
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 août 2009 à 16:41
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
21 août 2009 à 16:38
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 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
21 août 2009 à 16:36
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 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 août 2009 à 16:36
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
21 août 2009 à 16:32
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
21 août 2009 à 16:27
merci
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 août 2009 à 16:23
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
21 août 2009 à 16:19
*serait DSL
hadjle Messages postés 8 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 21 août 2009
21 août 2009 à 16:16
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 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 août 2009 à 16:12
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
21 août 2009 à 16:11
@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
21 août 2009 à 16:09
@ pegasme : merci bcps pour l encouragement,
ds ton code un email saisi " hadj.mansour@ " serait valide ??
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 août 2009 à 15:57
attention, le RegExp n'est dispo qu'en AS3 .. son script est en AS2 !

Peg'
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 août 2009 à 15:40
'y a ça aussi, mais j'ai essayé d'être léger ;)

Peg'
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
21 août 2009 à 15:35
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
21 août 2009 à 15:33
ou "encore" : pardon ;)
cs_bali_balo Messages postés 1378 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 1 novembre 2010 1
21 août 2009 à 15:33
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 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 août 2009 à 14:56
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'
Rejoignez-nous