Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VÉRIFICATION DE LA SYNTAXE D'UN COURRIEL (EMAIL) PAR EXPRESSIONS RÉGULIÈRES.


Information sur la source

Catégorie :Formulaire Classé sous : match, tld, email, rfc2822, keycode Niveau : Expert Date de création : 19/01/2006 Date de mise à jour : 04/10/2006 16:42:57 Vu : 12 847

Note :
9,67 / 10 - par 3 personnes
9,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Après avoir un peu trop bavardé sur le source
de Melnofil (http://www.javascriptfr.com/code.aspx?ID=15873)
je me résoud à ajouter mon grain de sel sur un sujet
largement débattu.
Ces sripts sont ceux que j'utilise, et j'y ai rajouté
quelques scripts utilisés par Mimata que j'ai modifiés
(interception de caractères interdits dans un champ,
modification de sa couleur de fond).
Il se reconnaîtra et pourra utiliser ces scripts en
remettant sa mise en page.

La validation de la syntaxe d'un courriel (email) vient
de l'interprétation difficile de la
RFC 822 (http://abcdrfc.free.fr/rfc-vo/rfc0822.txt)
devenue obsolète et remplacée par la
RFC 2822 http://abcdrfc.free.fr/rfc-vf/rtf/rfc2822.rtf
et la
RFC 1034  (http://abcdrfc.free.fr/rfc-vf/rfc1034.html)
Pour "Le Format des Messages de l'Internet" et
"DNS - Domain Name Server - Système de résolution des
adresses Internet numériques (pour la couche IP) et des
adresses symboliques (pour l'Homme).
Ce sont les RFC traduites en français par RFC-Editeur.org
Pour ce qui est de la RFC 2822, je n'ai pas encore
fini de l'interpréter.

Les scripts qui suivent ne tiennent pas encore compte
- des courriels noté : "Arthur, ou t'as mis le corp ?"@domaine.tld
  (Pas beau la "chaîne marquée" ?)
- des courriels noté : utilisateur@[short.short.short.short]
  (short = nombre 8 bits en notation décimale)
- des courriels noté : utilisateur@#nombre
  (nombre = adresse IP 32 bits en notation décimale)
Et est-ce que ça sert ? Je n'en connais pas.
Mais si c'est correct, il faudra encore un peu se gratter
les boyaux de la tête.

Ici les noms de domaines s'approche de la règle RFC 2822
- 63 octets par identifiant
- 255 octets par nom de domaine entièrement qualifié (FQDN)
FQDN = <identifiant>.<identifiant>.  ...  .TLD
Un identifiant doit commencer par une lettre, terminer par une
lettre ou un digit, et n'avoir à l'intérieur que des lettres,
des digits, et éventuellement le caractère Hyphénation (-)
Les TLD sont des caractères de a à z ([a-z])
limités de fait, à 2 Min et 6 Max ([a-z]{2,6}).
Mais l'expression régulière, en fait dépasse les 255 fatidiques.
(63 x 4 + 4 points) + 6 caractères de TLD max = 262 caractères.

Qui peut trouver en expression régulière cette forme (255 max), sans
un test supplémentaire ?

En Rajoutant : &&(substr(sMail.lastIndexOf("@")+1).length<=255)
à function bSyntaxeEmail(sMail)

var re=/^[a-z\d]+((\.|-|_)[a-z\d]+)*@((?![-\d])[a-z\d-]{0,62}[a-z\d]\.){1,4}[a-z]{2,6}$/gi;
return (sMail.match(re)==sMail)&&(substr(sMail.lastIndexOf("@")+1).length<=255);

on y arrive sans trop alourdir !
Optimisé en : substr(sMail.lastIndexOf("@")).length<=256
 

Source

  • //********************************** Debut du fichier contact.html *************
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  • <head>
  • <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  • <meta http-equiv="Content-Language" content="fr" />
  • <meta http-equiv="Content-Script-Type" content="text/javascript" />
  • <script type="text/javascript" src="emails.js"></script>
  • <title>
  • Contact par courriel
  • </title>
  • </head>
  • <body>
  • <form>
  • Votre nom
  • <br />
  • <input type="text" name="nom" value="" size="48" maxlength="50" onkeypress="javascript:ChampOK(this.form.nom);return valid_texte(event);" />
  • <br />Votre courriel
  • <br />
  • <input type="text" name="mail" value="" size="48" maxlength="100" onblur="javascript:minuscule(this.form.mail);" onkeypress="javascript:ChampOK(this.form.mail);return valid_mail(event);" />
  • <br />Message
  • <br />
  • <textarea name="message" rows="5" cols="80" onkeypress="javascript:ChampOK(this.form.message);"></textarea>
  • <p align="center">
  • <input type="button" name="valider" value="Envoyer" onclick="javascript:verifier(this.form);" />
  • <input type="reset" name="annuler" value="Annuler" />
  • </p>
  • </form>
  • </body>
  • </html>
  • //********************************** Fin du fichier contact.html ***************
  • //********************************** Début du fichier emails.js ****************
  • // Couleur des champs mal remplis, couleur au choix, en notation HEXA
  • // J'utilise aussi un style="background-image: url('../images/fond_champs.gif');"
  • // dans mes formulaires, avec bascule, mais c'est un autre sujet.
  • var CouleurFAUX="#FF6500";
  • /*-- Fonction d'entrée pour les vérifs du formulaire ---------------------------
  • Ici on peut tout modifier selon son besoin
  • Passer this.form comme paramètre.
  • -------------------------------------------------------------------------------*/
  • function verifier(f)
  • {
  • // Vérification du champs Nom
  • if (f.nom.value.length==0)
  • {
  • ChampPasOK(f.nom);
  • alert("Vous devez renseigner le champ Nom");
  • f.nom.focus();
  • return false;
  • }
  • ChampOK(f.nom);
  • // Vérification du champs Message
  • if (f.message.value.length==0)
  • {
  • ChampPasOK(f.message);
  • alert("Vous n'avez pas écrit de message !");
  • f.message.focus();
  • return false;
  • }
  • ChampOK(f.message);
  • // Vérification du champs Courriel (accepte un courriel vide !)
  • if (f.mail.value.length!=0) // à enlever si on ne veut pas de courriel vide !
  • {
  • if (!bSyntaxeEmail(f.mail.value))
  • {
  • ChampPasOK(f.mail);
  • alert("Votre mail est incorrect.\n\nVeuillez le vérifier.");
  • f.mail.focus();
  • return false;
  • }
  • if (!bDomainTLD(f.mail.value))
  • {
  • ChampPasOK(f.mail);
  • alert("Votre mail est incorrect.\n\nVeuillez vérifier le nom de domaine.");
  • f.mail.focus();
  • return false;
  • }
  • }
  • ChampOK(f.mail);
  • // Affichage du message final avant enregistrement
  • if(confirm("Merci "+f.nom.value+".\n\nVotre demande a été envoyée.")) f.submit();
  • return false;
  • }
  • // ******* Fonction particulières, à paramétrer ********************************
  • /*-- Formatage des champs texte ----------------------------------------------*/
  • function valid_texte(evt)
  • {
  • var interdit='€$$¤*+.&~#"{}()[]_^°=^%µ!§:;.,?|\\/`';
  • return InterditTouches(evt, interdit);
  • }
  • /*-- Formatage des champs Mail -----------------------------------------------*/
  • function valid_mail(evt)
  • {
  • var interdit='àâäãçéèêëìîïòôöõùûüñ &*?!:;,#~\'"^¨%$£?²¤§%*()[]{}<>\\|/`';
  • return InterditTouches(evt, interdit);
  • }
  • //******* Fonction générales --------------------------------------------------
  • /*-- Vérifie la syntaxe générale d'un Email sous forme domaine en texte ------*/
  • function bSyntaxeEmail(sMail)
  • {
  • var re=/^[a-z\d]+((\.|-|_)[a-z\d]+)*@((?![-\d])[a-z\d-]{0,62}[a-z\d]\.){1,4}[a-z]{2,6}$/gi;
  • return (sMail.match(re)==sMail)&&(sMail.substr(sMail.lastIndexOf("@")).length<=256);
  • }
  • /*-- Vérifie que le Top Level Domain existe ------------------------------------
  • Passer le courriel en entier. Attention les, ".eu" sont notés !
  • La liste est à jour (jeudi 19 janvier 2006) et en avance pour les ".eu"
  • var re= ... $/gi; doit être sur une seule ligne.
  • (enlever les retour chariot, mis ici pour la présentation)
  • ------------------------------------------------------------------------------*/
  • function bDomainTLD(sMail)
  • {
  • var re=/^(ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|
  • be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|
  • ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|
  • er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|
  • gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|
  • je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|
  • lt|lu|lv|ly|ma|mc|md|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|
  • mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|
  • pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|
  • sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|
  • tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|
  • yt|yu|za|zm|zw|aero|arpa|biz|com|coop|edu|eu|gov|info|int|mil|museum|
  • name|net|org|pro|jobs|travel)$/gi;
  • return sMail.substr(sMail.lastIndexOf(".") + 1).match(re)!=null;
  • }
  • /*-- Fonction pour interdire la frappe de certains caractères ------------------
  • (Passer l'évènement et le string des caractères interdits)
  • ------------------------------------------------------------------------------*/
  • function InterditTouches(evt, sInterdit)
  • {
  • var keyCode = evt.which ? evt.which : evt.keyCode;
  • if (sInterdit.indexOf(String.fromCharCode(keyCode))>=0) return false;
  • }
  • /*-- Fonction pour mettre en minuscule -----------------------------------------
  • Passer l'objet (ex : f.mail ou document.forms['NomDuFormulaire'].mail)
  • ------------------------------------------------------------------------------*/
  • function minuscule(o)
  • {
  • o.value=o.value.toLowerCase();
  • }
  • /*-- Fonction pour réinitialiser la couleur de l'arrière plan-------------------
  • Passer l'objet (ex : f.mail ou document.forms['NomDuFormulaire'].mail)
  • ------------------------------------------------------------------------------*/
  • function ChampOK(o)
  • {
  • o.style.backgroundColor="";
  • }
  • /*--Fonction pour changer la couleur de l'arrière plan ------------------------
  • Passer l'objet (ex : f.mail ou document.forms['NomDuFormulaire'].mail)
  • ------------------------------------------------------------------------------*/
  • function ChampPasOK(o)
  • {
  • o.style.backgroundColor=CouleurFAUX;
  • }
  • /*----------------------------------------------------------------------------*/
  • //******************************** Fin du fichier emails.js ********************
//********************************** Debut du fichier contact.html *************
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Content-Language" content="fr" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <script type="text/javascript" src="emails.js"></script>
    <title>
      Contact par courriel
    </title>
  </head>
  <body>
    <form>
      Votre nom
      <br />
      <input type="text" name="nom" value="" size="48" maxlength="50" onkeypress="javascript:ChampOK(this.form.nom);return valid_texte(event);" />
      <br />Votre courriel
      <br />
      <input type="text" name="mail" value="" size="48" maxlength="100" onblur="javascript:minuscule(this.form.mail);" onkeypress="javascript:ChampOK(this.form.mail);return valid_mail(event);" />
      <br />Message
      <br />
      <textarea name="message" rows="5" cols="80" onkeypress="javascript:ChampOK(this.form.message);"></textarea>
      <p align="center">
        <input type="button" name="valider" value="Envoyer" onclick="javascript:verifier(this.form);" />
        <input type="reset" name="annuler" value="Annuler" />
      </p>
    </form>
  </body>
</html>
//********************************** Fin du fichier contact.html ***************

//********************************** Début du fichier emails.js ****************
// Couleur des champs mal remplis, couleur au choix, en notation HEXA
// J'utilise aussi un style="background-image: url('../images/fond_champs.gif');"
// dans mes formulaires, avec bascule, mais c'est un autre sujet.
var CouleurFAUX="#FF6500";

/*-- Fonction d'entrée pour les vérifs du formulaire ---------------------------
     Ici on peut tout modifier selon son besoin
     Passer this.form comme paramètre.
-------------------------------------------------------------------------------*/
function verifier(f)
{
  // Vérification du champs Nom
  if (f.nom.value.length==0)
    {
    ChampPasOK(f.nom);
    alert("Vous devez renseigner le champ Nom");
    f.nom.focus();
    return false;
    }
  ChampOK(f.nom);

  // Vérification du champs Message
  if (f.message.value.length==0)
    {
    ChampPasOK(f.message);
    alert("Vous n'avez pas écrit de message !");
    f.message.focus();
    return false;
    }
  ChampOK(f.message);

  // Vérification du champs Courriel (accepte un courriel vide !)
  if (f.mail.value.length!=0) // à enlever si on ne veut pas de courriel vide !
    {
    if (!bSyntaxeEmail(f.mail.value))
      {
      ChampPasOK(f.mail);
      alert("Votre mail est incorrect.\n\nVeuillez le vérifier.");
      f.mail.focus();
      return false;
      }
    if (!bDomainTLD(f.mail.value))
      {
      ChampPasOK(f.mail);
      alert("Votre mail est incorrect.\n\nVeuillez vérifier le nom de domaine.");
      f.mail.focus();
      return false;
      }
    }
  ChampOK(f.mail);

  // Affichage du message final avant enregistrement
  if(confirm("Merci "+f.nom.value+".\n\nVotre demande a été envoyée.")) f.submit();
  return false;
}

// ******* Fonction particulières, à paramétrer ********************************

/*-- Formatage des champs texte ----------------------------------------------*/
function valid_texte(evt)
{
var interdit='€$$¤*+.&~#"{}()[]_^°=^%µ!§:;.,?|\\/`';
  return InterditTouches(evt, interdit);
}
/*-- Formatage des champs Mail -----------------------------------------------*/
function valid_mail(evt)
{
var interdit='àâäãçéèêëìîïòôöõùûüñ &*?!:;,#~\'"^¨%$£?²¤§%*()[]{}<>\\|/`';
  return InterditTouches(evt, interdit);
}

//******* Fonction générales --------------------------------------------------

/*-- Vérifie la syntaxe générale d'un Email sous forme domaine en texte ------*/
function bSyntaxeEmail(sMail)
{
var re=/^[a-z\d]+((\.|-|_)[a-z\d]+)*@((?![-\d])[a-z\d-]{0,62}[a-z\d]\.){1,4}[a-z]{2,6}$/gi;
return (sMail.match(re)==sMail)&&(sMail.substr(sMail.lastIndexOf("@")).length<=256);
}
/*-- Vérifie que le Top Level Domain existe ------------------------------------
     Passer le courriel en entier. Attention les, ".eu" sont notés !
     La liste est à jour (jeudi 19 janvier 2006) et en avance pour les ".eu"
     var re= ... $/gi; doit être sur une seule ligne.
     (enlever les retour chariot, mis ici pour la présentation)
------------------------------------------------------------------------------*/
function bDomainTLD(sMail)
{
var re=/^(ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|
be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|
ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|
er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|
gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|
je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|
lt|lu|lv|ly|ma|mc|md|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|
mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|
pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|
sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|
tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|
yt|yu|za|zm|zw|aero|arpa|biz|com|coop|edu|eu|gov|info|int|mil|museum|
name|net|org|pro|jobs|travel)$/gi;
return sMail.substr(sMail.lastIndexOf(".") + 1).match(re)!=null;
}
/*-- Fonction pour interdire la frappe de certains caractères ------------------
     (Passer l'évènement et le string des caractères interdits)
------------------------------------------------------------------------------*/
function InterditTouches(evt, sInterdit)
{
var keyCode = evt.which ? evt.which : evt.keyCode;
  if (sInterdit.indexOf(String.fromCharCode(keyCode))>=0) return false;
}
/*-- Fonction pour mettre en minuscule -----------------------------------------
     Passer l'objet (ex : f.mail ou document.forms['NomDuFormulaire'].mail)
------------------------------------------------------------------------------*/
function minuscule(o)
{
o.value=o.value.toLowerCase();
}
/*-- Fonction pour réinitialiser la couleur de l'arrière plan-------------------
     Passer l'objet (ex : f.mail ou document.forms['NomDuFormulaire'].mail)
------------------------------------------------------------------------------*/
function ChampOK(o)
{
o.style.backgroundColor="";
}
/*--Fonction pour changer la couleur de l'arrière plan ------------------------
    Passer l'objet (ex : f.mail ou document.forms['NomDuFormulaire'].mail)
------------------------------------------------------------------------------*/
function ChampPasOK(o)
{
o.style.backgroundColor=CouleurFAUX;
}
/*----------------------------------------------------------------------------*/
//******************************** Fin du fichier emails.js ********************

Historique

19 janvier 2006 22:47:32 :
Correction de mise ne page.
20 janvier 2006 00:29:57 :
Ajout de <!DOCTYPE ...... en entête correction de deux <br> en <br /> pour les puriste. Et quelques commentaires.
20 janvier 2006 00:58:03 :
Ajout de : &&(substr(sMail.lastIndexOf("@")+1).length<=255) à function bSyntaxeEmail(sMail) pour limiter le nom de domaine pleinement qualifié à 255 caractères.
20 janvier 2006 01:03:42 :
Juste oublié ma dernière modif en entier !
20 janvier 2006 01:51:56 :
Mise en page (suppression d'espace, alignement). J'ai un peu de mal pour la présentation.
20 janvier 2006 02:32:54 :
Correction d'une erreur : &&(sMail.substr(sMail.lastIndexOf("@")+1).length<=255) et pas &&(substr(sMail.lastIndexOf("@")+1).length<=255)
20 janvier 2006 16:23:41 :
Optimisation de : substr(sMail.lastIndexOf("@")+1).length<=255 en substr(sMail.lastIndexOf("@")).length<=256 pour supprimer un addition superflue.
04 octobre 2006 16:42:57 :
changement de "submit()" en f.submit()

Commentaires et avis

signaler à un administrateur
Commentaire de Mimata le 19/01/2006 23:38:09

Formidable !!! Bravo Sivispacem pour ce script aussi limpide qu'efficace.


Deux petites précisions toutefois sur cette source :

- N'oubliez pas d'enlever les retours chariots de la ligne # var re=/^(ac|ad|ae|...|com|coop|edu|eu|gov|info|int|mil|museum|name|net|org|pro|jobs|travel)$/gi;

- Le script est valide en XHTML 1.0 Strict, à condition de bien fermer les balises. Changez les deux balises : <br>Votre courriel et <br>Message en <br />, ainsi qu'en remplaçant la balise <html> par <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

Pour voir ce script en action : http://xhtml.css.free.fr/contact.htm (si vous le testez, soyez gentils d'annuler au moment de l'envoi...) Par ailleurs, je n'ai rien à vous apprendre sur ce point, c'est Sivispacem l'expert, pas moi).

Cette source va faire des heureux, moi le premier.

signaler à un administrateur
Commentaire de sivispacem le 20/01/2006 00:13:32

Mimata
Vrai les <br> et les validations, mais c'est du html simple...
Sans entête inutiles ici (javascript)
Le form le fait rien <form>...</form> juste pour montrer
que je n'utilise pas son nom. Je passe les variables au script.
Evidemment il faudra action="Script de traitement" et method="post ou get"
et un formulaire à composer soi-même...
Donc je rajoute pour les puristes.

signaler à un administrateur
Commentaire de coucou747 le 22/01/2006 11:14:25

pour une synthaxe d'un mail, une seule expression régulmière suffit ! t'es pas oblié de faire autant de lignes de codes...

signaler à un administrateur
Commentaire de sivispacem le 22/01/2006 13:55:49

coucou747,
Vrai ta remarque, c'est pour cela que j'en
parle en premier dans la description.
C'est la fonction bSyntaxeEmail(sMail), qui mérite
d'être encore travaillée pour la conformité avec les RFC.
En Option, la fonction bDomainTLD(sMail)
pour les TLD, le reste c'est pour le décor !

signaler à un administrateur
Commentaire de guinnessboy le 04/10/2006 14:01:24

Bonjour, ce script de vérification est assez complet. J'ai cependant une question : je souhaiterai lors de la validation exécuter un fichier php qui traite les informations contenues dans le formulaire.
En fait faire la même chose qu'avec l'attribut 'action'  d'un <form> lorsque que l'on utilise un bonton de type submit.
Ou dois je modifier le code ?
Merci,

signaler à un administrateur
Commentaire de sivispacem le 04/10/2006 16:48:23

Réponse à guinnessboy :
il faut changer <form> par <form method="post" action="traitementformulaire.php">.
Voir à la fin de verifier(f)... le f.submit() qui executera...
if(confirm("Merci "+f.nom.value+".\n\nVotre demande a été envoyée.")) f.submit();
Mais c'est un peu en dehors du sujet.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Envoie par email [ par VyRru5 ] Je voudré ke lorsqu'1 personne remplisse mon kestionn'R, je voudré recevoir par email se kil a marké.G une autre idée, le f'R en php il remplisse un f Adresse email [ par PatDeLaYaute ] Bonjour,je voudrais savoir si il est possible de récupérer l'adresse email d'un visiteur sur mon site lorsqu'il arrive sur ma page d'acceuil, comme ce Formulaire sans transmission par email [ par Dominike ] Bonjour à tous avec une mention particulière pour celui ou celle qui m'apportera son aide.Je suis juste un petit bidouilleur amateur et je me borne le Javascript et eMail [ par LocalStone ] Salut à tous ! Je cherche un moyen pour envoyer un mail HTML contenant un script Javascript, que ce soit par l'intermediaire d'une iframe ou autre ... cmt récupérer un email [ par kidpigeyre ] g un formulaire et certaines fois les visiteurs donnent des dresses complètement bidon, jvoudrai récupéré ladresse mail principale de lutilisateur. Cm Help me comment Envoyer une page html par email [ par laurentgraph ] Je cherche a envoyer tous le contenue de ma page html par email (via un bouton submit envoyer) quelqu'un peut t'il m'aider ???? Verification de champs [ par tib411 ] bonjour,Des petits problémes avec les verifications de formulaireVoila mon probléme :Pour l'instant j'arrive à verifier qu'un champ n'est pas videfunc flash dans email? ou popup dans email? [ par steackhe ] bonjour et merci si qq1 peut me sauver ou meme m'achever.je veux envoyer 1 ecard flash qui s'ouvrirait directement dans le logiciel de messagerie.j' a Formulaire : choisir le destinataire du formulaire [ par shaoling ] Bonjour,J'aimerai que vous m'aidiez pour mon formulaire. Il se compose :- de 3 champs de texte (1 pour le nom, 1 pour l'adresse email de celui qui l'e Formulaire - Vérifier le nom de domaine ds l'email [ par 6_boulettes ] Salut à tous!Je souhaiterais faire un formulaire qui demande une adresse email avec 2 noms de domaines particuliers. Si le nom de domaine correspond,


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,466 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.