FONCTION TEST SI LE STRING EST UN MAIL.

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 12 nov. 2004 à 14:27
alex6ndre Messages postés 1 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 30 août 2006 - 30 août 2006 à 17:41
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/27518-fonction-test-si-le-string-est-un-mail

alex6ndre Messages postés 1 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 30 août 2006
30 août 2006 à 17:41
perso pour faire une verif rapide de mail, j'utilise INDEXOF qui balaye la chaine à la recherche de tes criteres, s'il trouve, il te renvoit la position du caractere demandé, sinon, il te renvoi -1;...aprés facile tu programmes un (if -1 = pas bon)


var vmail = text_mail.text;
var arobase;
var pointmail;
arobase = vmail.indexOf("@");
pointmail = vmail.indexOf(".");
if (arobase == -1) {......
if (pointmail == -1) {.....
individis-bis Messages postés 293 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 25 septembre 2008
14 nov. 2004 à 01:06
Explique si tu as mieux...
kingcobra Messages postés 316 Date d'inscription vendredi 23 mai 2003 Statut Membre Dernière intervention 19 septembre 2012
13 nov. 2004 à 23:54
que c'est compliqué... que de lignes pour rien...
individis-bis Messages postés 293 Date d'inscription vendredi 26 septembre 2003 Statut Membre Dernière intervention 25 septembre 2008
13 nov. 2004 à 18:55
Moi j'utilise ca... c pas plus mal...
en proto
String.prototype.ValideMail = function(){
var arrobas = 0;
var point = 0;
var dom = 0;
for(i=0;i<this.length;i++){
if(this.charAt(i) == "@"){arrobas++;dom=i;}
}
if(this.charAt(this.length-3) == ".")point++;//.xx
else if(this.charAt(this.length-4) == ".")point++;//.xxx
else if(this.charAt(this.length-5) == ".")point++;//.xxxx
else if(this.charAt(this.length-2) == ".")point=0;//.x

if(dom 0 || this.charAt(dom+1) ".")point=0;//verifie si qq chose avant @, ou si '@ et .' sont collés.

if(arrobas==1 && point>=1)return true;
return false;
}

avec pour exemple...
function testMail() {
if (!mail_txt.ValideMail()) {
message = "L'adresse email n'est pas correcte, essayez à nouveau";//recommence
Selection.setFocus("FormMail");// retourne au champs mail
} else {
//continue c bon... }
}
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
13 nov. 2004 à 14:17
oké dans l'optique de faire de l'AS2 je comprend
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
12 nov. 2004 à 21:49
Effectivement tu m'as ouvert les yeux sur une "options" manquante de ma function isMail :

la véfification de d'espace blanc ;

Et pour te repondre shubenka, dans mon cas, c'est l'habite du de travailler avec du AS2... De plus l'avante est que si tu veux plus tard "coller" ta function au sein d'un doc AS2, tu "gagnes" du temps...

Bref.. Moi ca me convient comme ca !
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
12 nov. 2004 à 21:27
c'est quoi cette mode de definir les variables ?
quel est l'interet a part de rendre illisible le code ?
top30 Messages postés 1158 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 6 août 2010
12 nov. 2004 à 21:21
Comme quoi... Les gens bossent sans vérifier si il pourrrait "gagner du temps" :

http://www.flashkod.com/code.aspx?ID=24324
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
12 nov. 2004 à 14:27
M'est avis que ton code est trop gros et qu'il peut être simplifié ...
je n'ai pas le temps cette AM, mais ce soir, je te donnerais un code qui fais exactement la même chose, mais en plus léger !

Peg'
Rejoignez-nous