fonction pour tester un email

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fonction pour tester un email

par BeRoots » 10 févr. 2007, 15:05

oki j'ai trouvé :D
merci truc car sans toi je pense que je serai passer à coté ;)

je remet le code au cas ou il serve à quelqu'un d'autre:

Code : Tout sélectionner

<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ma page de test</title> </head> <body> <script> function test(email) { var email = document.formulaire.email.value; var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/; if(document.formulaire.email.value == "") //si pas d'email entrer { alert("Veuillez entrer votre adresse email"); } else { var result = ((reg.exec(email)!=null)); if(result==false) //si l'email n'est pas valide { alert("L\'email saisi n\'est pas valide !"); } else //si l'email est valide { window.open('test_email.php?email='+email, 'test_email', 'width=600, height=500, top=0, left=0'); } } } </script> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" name="formulaire" method="post"> <fieldset> <label for="label_email">Votre adresse &eacute;lectronique :</label><input type="text" id="label_email" name="email" value="" /><br /> <a href="#" onClick="test()">tester l'email en cliquant ici</a> <input type="submit" class="verif" name="envoi" tabindex="15" value="Envoyer" /> </fieldset> </form> </body> </html>
@++

par Truc » 10 févr. 2007, 14:44

l'url de la popup est "test_email.php?email=.email"
Pose toi la question... pourquoi ".email" et à quel moment l'adresse est "construite"... tu regarde à cet endroit et on y voit :
window.open('test_email.php?email=.email',...
(au passage la concaténation en Js se fait avec "+" )

par BeRoots » 10 févr. 2007, 14:39

j'ai presque réussi mais il me reste un point que j'arrive pas à resoudre :?

Voici ce que j'ai fait (remarquer que c'est plus propore quand même):

Code : Tout sélectionner

<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ma page de test</title> </head> <body> <script> function test(email) { var email = document.formulaire.email.value; var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/; if(document.formulaire.email.value == "") //si pas d'email entrer { alert("Veuillez entrer votre adresse email"); } else { var result = ((reg.exec(email)!=null)); if(result==false) //si l'email n'est pas valide { alert("L\'email saisi n\'est pas valide !"); } else //si l'email est valide { window.open('test_email.php?email=.email', 'test_email', 'width=600, height=500, top=0, left=0'); } } } </script> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" name="formulaire" method="post"> <fieldset> <label for="label_email">Votre adresse &eacute;lectronique :</label><input type="text" id="label_email" name="email" value="" /><br /> <a href="#" onClick="test()">tester l'email en cliquant ici</a> <input type="submit" class="verif" name="envoi" tabindex="15" value="Envoyer" /> </fieldset> </form> </body> </html>
par contre j'arrive pas à inclure l'email saisi dans l'url de la fenetre à ouvrir :cry:

l'url de la popup est "test_email.php?email=.email" alors que j'aimerai faire en sorte qu'elle soit "test_email.php?email=[email protected]"

si quelqu'un peu m'aider ;)

fonction pour tester un email

par BeRoots » 10 févr. 2007, 12:36

salut à tous :)

je voudrai créé une fonction en js pour que dans un formulaire, si je clique sur un lien, on verifie la validité de l'email entrer dans le champ "email" et que l'on traite l'action a adopter comme suit:

- le champ est vide ==> alert('Veuillez entrer un email !')
- le email entrer est invalide ==> alert("L'email entrer est invalide !")
- le mail entrer est valid ==> on ouvre une popup pour executer un script php qui va envoyer un email vers l'email entrer. (dans cette fenetre sera spécifié à l'utilisateur que si il recoit pas le mail, il doit ajouter l'email expediteur à ses contact puis relancer le script). Pour cela il faudra passer l'email entrer dans l'url du script à executer dans la popup (window.open('envoi_email.php?email=email_entrer', 'envoi_email',...)

J'ai fait comme cela mais sa marche pas:

Code : Tout sélectionner

<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>ma page de test</title> </head> <body> <script> function test(email) { var reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/ var email_entrer = document.formulaire.email.value if(reg.exec(email)==true) /*si l'email est valide*/ { window.open('test_email.php?email=email_entrer', 'test_email', 'width=600, height=500, top=0, left=0') } elseif(document.formulaire.email.value == "") /*si pas d'email entrer*/ { alert("Veuillez entrer votre adresse email") } else /*si l'email n'est pas valid*/ { alert("L\'email saisi n\'est pas valide !") } } </script> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" name="formulaire" method="post"> <fieldset> <label for="label_email">Votre adresse &eacute;lectronique :</label><input type="text" id="label_email" name="email" value="" /><br /> <a href="#" onClick="return test(document.formulaire.email.value)">tester l'email en cliquant ici</a> <input type="submit" class="verif" name="envoi" tabindex="15" value="Envoyer" /> </fieldset> </form> </body> </html>
si quelqu'un peut m'aider ;)
merci d'avance.