Fonction test si le string est un mail.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 459 fois - Téléchargée 31 fois

Contenu du snippet

Bonjour tout le monde.

Comme je l'ai constater de nombreuse personnes chercheent des fonction vérifiant si la chaine de caractère est bien une adresse mail. Et comme je me suis trouvé obligé de creer cette fonction je souhaite la faire partager a tout le monde.

bye

Source / Exemple :


La fonction suivante me permet de tester si une chaine de caractères
demandée et bien de type adresse e-mail!
Cette fonction retourne vrai si c'est une adresse mail et faux dans le 
cas contraire.

  • /
function verifMail(adrMail:String):Boolean{ var i:Number; var verifAdres:Boolean = false; var verifPt:Boolean = false; //parcourt la chaîne de caractère afin de savoir si il y a un espace. for(i = 0; i < adrMail.length; i++){ if(adrMail.charAt(i) == " ") { return false; } } //parcourt la chaîne de caractère afin de savoir si il y a un @. for(i = 0; i < adrMail.length; i++){ if(adrMail.charAt(i) != "@") { if (verifAdres == false && i == adrMail.length-1){ return verifAdres; } } else { verifAdres = true; } } //parcourt la chaîne de caractère afin de savoir si il y a un point. for(i = 0; i < adrMail.length; i++){ if(adrMail.charAt(i) != ".") { if (verifPt == false && i == adrMail.length-1){ return verifPt; } } else { verifPt = true; } } var pieces_a:Array = adrMail.split("@"); // Découpage de ma chaine de caratère mail avec le @ var lastPieces:String = pieces_a[pieces_a.length - 1]; //Récupération de la dernière valeur du tableau (juste au cas ou il y aurait 2 @!) var pieces_pts:Array = lastPieces.split("."); // Découpage de ma chaine de caratère, situé apres le dernier @, avec le point (.) var lastString:String = pieces_pts[pieces_pts.length - 1];//Récupération de la dernière valeur du tableau (le nom de domaine) // Traitement (test) sur le nom de domaine du mail. if ((lastString.length > 4) || (lastString.length < 2)){ return false; } else { return true; } }

A voir également

Ajouter un commentaire

Commentaires

alex6ndre
Messages postés
1
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
30 août 2006
-
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
-
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
-
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
-
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
760
Date d'inscription
mercredi 11 décembre 2002
Statut
Membre
Dernière intervention
12 novembre 2008
-
oké dans l'optique de faire de l'AS2 je comprend

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.