Partage
  • Partager sur Facebook
  • Partager sur Twitter

Interdire les nombre avec JQuery

    16 janvier 2011 à 15:41:49

    Bonjour,

    Je travaille actuellement sur un formulaire de mail que je souhaiterais le plus optimisé possible avec les technos que je connais.
    Pour l'instant j'en suis à la vérification côté clien via Js/Jquery(pour que se soit jouli :p) et je me heurte à un soucis.
    Je voudrais que les champs nom et prénom ne soit pas vide et qu'ils ne contiennent aucun numéro.

    <?php
    
    ?>
    
    <!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">
    
    <head>
    	<title></title>
    	<meta http-equiv="content-type" content="text/html;charset=utf-8" />
            <script type= "text/javascript" langage="Javascript" src="jquery.js"></script>
            <link rel="stylesheet" type="text/css" href="style.css" media="screen"/>
            <script type="text/javascript">
            
            $(function(){
                $("#envoyer").click(function(){
                    valid = true;
                    $nonum  = '[^0-9]';
                    
    		if($("#nom").val() == ""){
    		  $("#nom").next(".error").fadeIn().text("Veuillez entrer un nom");
    		  valid = false;		  
    		}
                    else if(!isNaN($("#nom").val())){
                        $("#nom").next(".error").fadeIn().text("Veuillez entrer un nom correct");
                        valid = false;                
                    }
    		else{
    		  $("#nom").next(".error").fadeOut();		  
    		}
                    
                    if($("#prenom").val() == ""){
    		  $("#prenom").next(".error").fadeIn().text("Veuillez entrer un prénom");
    		  valid = false;		  
    		}
                    else if(!isNaN($("#prenom").val())){
                        $("#prenom").next(".error").fadeIn().text("Veuillez entrer un prénom correct");
                        valid = false;                
                    }
    		else{
    		  $("#prenom").next(".error").fadeOut();		  
    		}
                    return valid;
                });
                
            });
    
        </script>
    </head>
    
    <body>
        <form name="form_contact">
            <label for="nom">Nom</label>
            <input type="text" id="nom" name="nom" value="" /><span class="error"></span><br />
            
            <label for="prenom">Prénom</label>
            <input type="text" id="prenom" name="prenom" value="" /><span class="error"></span><br />
            
            <label for="mail">Email</label>
            <input type="text" id="mail" name="mail" value="" /><span class="error"></span><br />
            
            <label for="message">Message</label>
            <textarea id="message" name="message" rows="2" cols="20"></textarea><span class="error"></span><br />
            
            <input type="submit" id="envoyer" name="envoyer" value="Envoyer"
        </form>
    
    </body>
    </html>
    


    J'avais donc utilisé isNaN et voilà que si je tape des lettres puis des chiffres il me le prends comme une chaine de caractère ce qui est logique en soit ^^.
    Je me suis donc rabattu sur les expressions régulières nouveau soucis; comment les implanter en jquery; mon soucis n'est pas tant logique mais plutôt syntaxique.

    Je ne vois pas du tout comment l'écrire

    Si vous avez une petite idée je suis preneur.

    Cordialement.

    L.

    Edit:

    Bon ben je me suis débrouillé seul; après une aprem de galère voilà la réponse pour ceux que cela intéresseraient :

    else if(!$("#nom").val().match(/^[a-z]+$/i)){
                        $("#nom").next(".error").fadeIn().text("Veuillez entrer un nom correct");
                        valid = false;                
                    }
    

    Voilou

    Bonne soirée

    L.
    • Partager sur Facebook
    • Partager sur Twitter

    Interdire les nombre avec JQuery

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown