Controle du mail dans un formulaire

Résolu
shoezman13 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
shoezman13 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Alors voilà, j'ai un formulaire en html, et je contrôle la saisie de chaque donnée en javascript. Pour l'instant je vérifie juste que l'utilisateur a bien rempli toutes les cases et qu'il a mis une adresse mail qui semble correcte (c'est à dire qu'elle présente un @, un point, et un certain nombre de lettre après l'@) Voici mon script :

function verif(){

if(identification.mail.value=="")
{
alert ('Veuillez indiquer votre mail');
identification.mail.focus();
return false;
}

testm=false;

if(identification.mail.value!="")
{
for (var j=1 ; j<(a.length) ; j++) {

if (a.charAt(j)=='@') {

if (j<(a.length-4)){

for (var k=j ; k<(a.length-2) ; k++) {

if (a.charAt(k)=='.')
{
testm = true;
}
}
}
}
}
}

if (testm = false)
{
alert('Votre adresse mail est incorrecte');
identification.mail.focus();
return false ;
}


if(identification.nom.value == "")
{
alert ('Veuillez entrer votre nom');
identification.nom.focus();
return false;
}
...
...
// ça continue encore alors je coupe
...
...
}




Le problème c'est que avec ceci, quand le mail ne possède pas de "@", l'alerte ne s'affiche pas... par contre si le champs est vide, ça fonctionne...
Si par hasard vous arrivez à comprendre ce que je veux dire et que vous pouvez m'aider ça serait super :P
Merci
A voir également:

2 réponses

JR des cavernes Messages postés 152 Date d'inscription   Statut Membre Dernière intervention   84
 
Je suis pas sur d'avoir compris ce que tu veux exactement mais si c'est vérifier que la syntaxe d'une adresse mail est valide ou non tu devrais voir ici https://openclassrooms.com/fr/courses par exemple.
0
maily Messages postés 7556 Date d'inscription   Statut Contributeur Dernière intervention   453
 
Bonjour,

le problème est que tu ne testes pas si l'@ y est.
Il faudrait que tu fasses un truc du style

 for (var j=1 ; j<(a.length) ; j++) { 
     if (a.charAt(j)=='@') { 
            test@=true;
          suite de ton code...
     }
 }
 if(test@== false){
     alert('Votre adresse mail est incorrecte'); 
 }

0
shoezman13 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   1
 
ça y est j'ai compris pourquoi ça marchait pas... en fait j'avais changé ma fonction d'origine et j'avais pas les memes parametres d'entrée dans la fonction, ensuite il devait y avoir des petites erreurs par ci par là. Finalement tout fonctionne bien donc pour ceux que ça interesse voila le code que j'obtiens en fin de compte :



function verif(){

testm=false;


if (identification.mail.value == "")
{
alert('Veuillez saisir votre adresse mail');
identification.mail.focus();
return false ;
}

if (identification.mail.value != "")
{
for (var j=1 ; j<(identification.mail.value.length) ; j++) {

if (identification.mail.value.charAt(j)=='@') {

if (j<(identification.mail.value.length-4)){

for (var k=j ; k<(identification.mail.value.length-2) ; k++) {

if (identification.mail.value.charAt(k)=='.')
{
testm = true;
}
}
}
}
}
}

if (testm==false)
{
alert('Votre adresse mail est incorrecte.');
identification.mail.focus();
return false ;
}



Merci pour vos réponses,
A bientot
0