Bonjour, j'aimerais pouvoir faire une fonction match pour controler un champ de formulaire email pour controler sa validité et également pour un champ téléphone ou je ne veux autoriser que les numéros.

Le soucis c'est que mon script ne marche pas et la je sèche. :) Jespere que vous pourrez m'aider..

Je me suis appuyé sur le tuto validation d'un formulaire avec jQuery.

Voici mon script :

$("#Envoyer").click(function(){
        valid = true;

        if($("#nom").val() == ""){
            $("#nom").next(".erreur").fadeIn('slow');
            valid = false;
        } else {
            $("#nom").next(".erreur").fadeOut('slow');
        }

        if($("#prenom").val() == ""){
            $("#prenom").next(".erreur").fadeIn('slow');
            valid = false;
        } else {
            $("#prenom").next(".erreur").fadeOut('slow');
        }

        if($("#mail").val() == ""){
            $("#mail").next(".erreur").fadeIn('slow').text("Mail requis");
            valid = false;
        } else if(!$("#email").val().match(/^\w+(\.-]?\w+)*@\w+(\.-]?\w+)*(\.\w{2,})+$/i)){ 
            $("#mail").next(".erreur").fadeIn('slow').text("Mail non valide");
            valid = false;
        } else {
            $("#mail").next(".erreur").fadeOut();
        }

        if(!$("#tel").val().match(/^[0-9]$/i)){
            $("#tel").next(".erreur").fadeIn('slow').text("Num&eacute,ro seulement");
            valid = false;
        } else {
            $("#tel").next(".erreur").fadeOut('slow');
        }

        return valid;
    });

Merci d'avance

4 réponses


PhiSyX
Réponse acceptée

Hello,

Le contenu de ce JS est bien entre $(function(){ ... }); ?
Chez moi tout marche, j'ai juste changé deux trois trucs :

  • J'ai remplacé click par submit ( de $("#envoyer").click()... )
  • Mail : Tu as mis $("#<u>e</u>mail") pour la validation du mail (match)
  • Tel : Le tel sera toujours faux car dans ton match, tu demandes qu'un seul chiffre :)

Voilà voilà.

Grafikart
Réponse acceptée

Oui /^[0-9]+$/ devrait marcher

Charly
Auteur

Salut,

Merci pour ta réponse !

Je vais voir pour corriger tout ça.

Donc pour mettre plusieurs chiffres je dois mettre /^[0-9]+$/ ?

Merci beaucoup !

Charly
Auteur

Oui c'est tout bon Merci à tous !