Vérification d'une adresse mail

Fermé
Thetcha - 21 nov. 2013 à 17:33
 Thetcha - 25 nov. 2013 à 10:30
Bonjour,
Je cherche à vérifier la validité d'une adresse mail mais je n'arrive pas.

Voici mon code :

	
if(champ.Email.value == '')
{
alert('L email doit etre renseigne');
champ.Email.focus();
return false;
}
else
{
{
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if(reg.test(champ.Email.value))
{
return false ;
}
return true;

Ca ne doit pas être grand chose mais je ne vois pas ou est mon erreur.
Merci d'avance
A voir également:

21 réponses

up
0
Bonjour,
J'ai modifié mon code mais ça plante toujours au même endroit :

//Gestion de l'adresse mail
var adresse_email = champ.Email.value;
if(adresse_email == '')
{
alert('L email doit etre renseigne');
champ.Email.focus();
return false;
}
else
$regex_mail = '^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$';
/* On vérifie que le format de l'e-mail est correct */
if (preg_match($regex_mail, adresse_email))
{
alert ('L adresse email entrée n est pas valide !');
champ.Email.focus();
return false;
}
return true;

Le 1er if marche correctement par contre la 2eme partie du code ne marche pas.

Merci
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
Modifié par Super_carotte le 22/11/2013 à 15:09
Je n'ai pas pu tester mais avec quelque chose comme ça ça donne quoi?

function bonmail(mailteste)

{
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');

if(reg.test(mailteste))
{
return(true);
}
else
{
alert ('L adresse email entrée n est pas valide !');
return(false);
}
}

//Gestion de l'adresse mail
var adresse_email = champ.Email.value;
if(adresse_email == '')
{
alert('L email doit etre renseigne');
champ.Email.focus();
return false;
} else{
bonmail(adresse_email);
}
0
Salut super_carotte et merci de prendre du temps pour me répondre !

Je crois que mon soucis se trouve dans l'appellation du champ !

En effet, quand je déclare ça : 'var adresse_email = champ.Email.value;', j'ai l'impression que se qui fait planter c'est 'champ.Email.value' et pas le reste. Le reste me semble vraiment cohérent.

Je m'explique, je fais une fonction en javascript pour contrôler mon formulaire. Ma fonction se prénomme comme ça : function valider(champ) et dans mon 'preg_match', j'ai déclaré adresse_mail mais je ne sais pas se qui faut mettre dedans !

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
22 nov. 2013 à 15:21
On va commencer par verifier la valeure de ta variable email alors.
Enleve tout ton code sauf la premiere ligne et rejoute la ligne:
alert('adresse_email'+adresse_email);

Donc ton code doit ressembler a:
var adresse_email = champ.Email.value;
alert('adresse email= '+adresse_email);

le alert indique quoi?
0
le alert, c'est une pop up qui affiche se qui est marqué dans l'alert !
Je test
0
var adresse_email = champ.Email.value;
alert('adresse email= '+adresse_email);

Ces deux lignes marche niquel ! Donc en fait ma variable est bonne! C'est autre chose qui fait planter mon programme alors mais je ne vois vraiment pas !
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
Modifié par Super_carotte le 22/11/2013 à 15:39
Désolé, je suis au travail, je peux pas trop passer de temps a t'aider.
Voila un code qui fonctionne: (test le sur un page vierge)
ça resoud ton problème?
<script type='text/JavaScript'>
function bonmail(mailteste)
{
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if(reg.test(mailteste))
{
alert ('OK');
return(true);
}
else
{
alert ('L adresse email entrée n est pas valide !');
return(false);
}
}

//Gestion de l'adresse mail
function testmail(){
var adresse_email = document.getElementById('mail').value;
alert ('adresse_email= '+adresse_email);
if(adresse_email == '')
{
alert('L email doit etre renseigne');
champ.Email.focus();
return false;
}else{
bonmail(adresse_email);
}
}


</script>
<body>
<html>
<input type="text" id="mail"/>
<input type="button" onclick="testmail()"/>
</html>
</body>
0
Merci ! je test et je te tiens au courant !
Encore merci :)
0
Ton code marche parfaitement ! Merci
Maintenant, j'essaye de refaire à ma manière mais je galère --'
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
22 nov. 2013 à 15:51
Comment ça "a ta magnere"? qu'essaie tu de faire de plus que ne fait deja mon code?
0
J'essaye de faire tout dans une et une seule fonction !
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
Modifié par Super_carotte le 22/11/2013 à 16:05
Quelle est l'utilité?
C'est tres bien d'appeler une autre fonction dans une fonction.
ça te permet de réutiliser du code.

Enfin, du coup, si tu veux tout d'un bloc ça donne:
(mais je te deconseil de faire ça. utilise plutot l'appel a une deuxième fonction)

<script type='text/JavaScript'>

//Gestion de l'adresse mail
function testmail(){
var adresse_email = document.getElementById('mail').value;
alert ('adresse_email= '+adresse_email);
if(adresse_email == '')
{
alert('L email doit etre renseigne');
champ.Email.focus();
return false;
}else{
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if(reg.test(mailteste))
{
alert ('OK');
return(true);
}
else
{
alert ('L adresse email entrée n est pas valide !');
return(false);
}
}
}


</script>
<body>
<html>
<input type="text" id="mail"/>
<input type="button" onclick="testmail()"/>
</html>
</body>
0
Je veux faire tout en un puisque derrière cette vérification, j'ai une autre vérification et lorsque je créé une 2eme fonction comme c'est le cas pour la vérif du mail, ça m'enchaine les pop up de validité du mail puis du site web qui arrive derrière alors que si je fais toute mes vérifs dans la même fonction, les vérifs sont faites champs par champs....
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
Modifié par Super_carotte le 22/11/2013 à 16:21
Ok, donc tu es bloqué ou?
Tu peux me passer tout ton code que je cherche une solution?
0
Ben toute ma fonction fonctionne a part ton bout de code qui ne marche pas lorsque je regroupe tout en une seule fonction !

Voici le code de vérif du mail :


function valider(champ)
//Gestion de l'adresse mail
var adresse_email = champ.Email.value;
if(adresse_email == '')
{
alert('L email doit etre renseigne');
champ.Email.focus();
return false;
}
else
{
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if(reg.test(champ))
{
return(true);
}
else
{
alert ('L adresse email entrée n est pas valide !');
return(false);
}
}
}

Lorsque je mets tout dans la meme fonction, lorsque je rentre un mail valide, il me dit toujours que l'adresse mail n'est pas valide et je ne vois pas du tout pourquoi ca ne fonction pas !
Merci
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
Modifié par Super_carotte le 22/11/2013 à 16:37
ça marche avec ça? (j'ai ajouter l'accolade ouvrante de la fonction a la fin de la premiere ligne.)

function valider(champ){
//Gestion de l'adresse mail
var adresse_email = champ.Email.value;
if(adresse_email == '')
{
alert('L email doit etre renseigne');
champ.Email.focus();
return false;
}
else
{
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if(reg.test(champ))
{
return(true);
}
else
{
alert ('L adresse email entrée n est pas valide !');
return(false);
}
}
}
0
Non toujours pareil ! Il me dit que l'adresse n'est pas valide alors qu'elle l'est ^^
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
Modifié par Super_carotte le 22/11/2013 à 16:55
Voila:
ça marche avec ça?
//Gestion de l'adresse mail
function valider(){
var adresse_email = document.getElementById('mail').value;
alert ('adresse_email= '+adresse_email);
if(adresse_email == '')
{
alert('L email doit etre renseigne');
return false;
}else{
var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');
if(reg.test(adresse_email))
{
alert ('OK');
return(true);
}
else
{
alert ('L adresse email entrée n est pas valide !');
return(false);
}
}
}

</script>
<body>
<html>
<input type="text" id="mail"/>
<input type="button" onclick="valider()"/>
</html>
</body>
0
Non toujours la même erreur !
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
Modifié par Super_carotte le 22/11/2013 à 17:29
Mais ce code marche chez moi. COmment un copié collé de ce code pourrait il ne pas marché. tu le modifie forcement ou tu appel des boutons et zones texte qui ont pas le meme nom que dans mon code.
Pour ça que je t'ai demandé de me passer tout ton code (au moins les partie formulaire)
0