Vérification d'une adresse mail

Fermé
Signaler
-
 Thetcha -
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

21 réponses

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
Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
126
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
Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
126
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
Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
126
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
Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
126
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
Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
126
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
Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
126
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
Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
126
ç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
Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
126
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
Messages postés
1419
Date d'inscription
mardi 8 janvier 2008
Statut
Membre
Dernière intervention
27 janvier 2015
126
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