Javascript tester un champ qui ne doit contenir que des lettre [Résolu]

pho3nixhunt3r 6 Messages postés lundi 5 mai 2008Date d'inscription 16 juillet 2008 Dernière intervention - 16 juil. 2008 à 11:53 - Dernière réponse : cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention
- 16 juil. 2008 à 14:43
Bonjour à tous,

alors voilà je suis en train de rédigé un formulaire,

pour la vérification du numéro de téléphone j'utilise isNaN,
existe t' il  son opposer pour vérifier que les champs nom et prénom ne contiennes que des lettres ??

Sinon avez vous une autre technique ?? d'avance merci.

function verif(email) {
                var arobase = email.indexOf("@")
                var point = email.lastIndexOf(".")
                if((arobase < 3)||(point + 2 > email.length)
                   ||(point < arobase+3)) return false
                return true
                }
    function zip(code_postal) {           
                if (code_postal.length<3) return false
                return true
                }
    function ziptel(telephone) {           
             if (isNaN(telephone)) return false
            return true
            }   
    function ziptelnum(telephone) {           
     if (telephone.length!=10) return false
    return true
    }
    //Ici je ne fais qu' empécher qu'on ne rentre que des nombres et j'aimerais qu'il soit impossible d'en rentrer
    function nomnum(nom) {           
             if (isNaN(nom)) return true
            return false
            }
<hr size ="2" width="100%" />if(nom.value=="") {
               alert("Un nom est requis !")
               nom.focus(); return false }
              
            if(!nomnum(nom.value)){
            alert("Votre nom ne semble pas cohérent !"); nom.value=""
            nom.focus();return false }  
              
            if(prenom.value=="") {
               alert("Un prénom est requis !")
               prenom.focus(); return false }
              
            if(adresse.value=="") {
               alert("Une adresse est requis !")
               adresse.focus(); return false }
              
            if(code_postal.value=="") {
               alert("Un code postal est requis !")
               code_postal.focus(); return false }
              
           if(!zip(code_postal.value)){
            alert("Code postal invalide !"); code_postal.value=""
            code_postal.focus();return false }
              
            if(ville.value=="") {
               alert("Une ville est requise !")
               ville.focus(); return false }
                
            if(telephone.value=="") {
               alert("Un numéro de téléphone est requis !")
               telephone.focus(); return false }
              
           if(!ziptel(telephone.value)){
            alert("N° de téléphone invalide !"); telephone.value=""
            telephone.focus();return false }
           
            if(!ziptelnum(telephone.value)){
            alert("N° de téléphone invalide !"); telephone.value=""
            telephone.focus();return false }
              
               if(email.value=="") {
               alert("Un Email est requis !")
               email.focus(); return false }
              
            if(!verif(email.value)){
                alert("Email invalide !"); email.value=""
                email.focus();return false }
         
            return true
            }
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 16 juil. 2008 à 12:10
3
Merci
bonjour,
une expression régulière ?
<script>
function test(zone)
{    return zone.match(/[^a-z]/i);    }
alert(test("a2 342"));
alert(test("abCDfe"));
</script>

pas testé, mais probablement pas loin....

<hr />                Cordialement            Bul        

Merci cs_bultez 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_bultez
Meilleure réponse
pho3nixhunt3r 6 Messages postés lundi 5 mai 2008Date d'inscription 16 juillet 2008 Dernière intervention - 16 juil. 2008 à 13:53
3
Merci
Merci pour ta patience, lol.
j'ai trouver mes réponses ici et sur mon fichier ça donne ça :
var reg_alphab = /^[A-Za-z]+$/;
    function nomnum(nom) {
    if (!(reg_alphab.exec(nom)!=null)) return false
    return true
    }

Merci pho3nixhunt3r 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de pho3nixhunt3r
pho3nixhunt3r 6 Messages postés lundi 5 mai 2008Date d'inscription 16 juillet 2008 Dernière intervention - 16 juil. 2008 à 12:43
0
Merci
Bonjour Bultez et merci d'avoir répondu aussi rapidement,

je ne suis pas très calé en js pour l'instant,
mais d'après mes recherche de ce matin l'expression régulière me semble en effai  adapter à mon problème.

j'ai donc vue d'après ce  que tu écrit en les crochet que tu laisse l' exception  au minuscules et je pense rajouter [^A-Z]
(si j'ai bien appris ma leçon.)

j'aimerai juste avoir si cela ne te dérange pas quelques info sur le return et sur les alerte.
Histoire de pouvoir l'adapter a mon code et d'avoir un true ou false.

D'avance merci.
Commenter la réponse de pho3nixhunt3r
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 16 juil. 2008 à 12:53
0
Merci
A-Z à priori inutile, puisque /../i qui "ignore" les majuscules/minuscules

une fonction retourne quelque chose à l'appelant
    ( si on ne met rien, ça retourne true )
    ici, on retourne le résultat du match, qui sera exploté par l'appelant

alert ? c'est afficher un message, ici pour l'exemple

si tu veux retourner true ou false, "il suffit" de retourner
le résultat d'une comparaison avec ce qui va bien...
par exemple return ( a==1 ) retournera true si a=1, false sinon.
regarde le résultat du match. ( mais bon... ici, un peu "inutile" )

<hr />                Cordialement            Bul        
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 16 juil. 2008 à 12:56
0
Merci
remarque : pour vérifier l'email ( enfin.... la syntaxe ! pas sa validité ! ),
on utilise aussi une expression régulière ( c'est plus mieux )
<hr />                Cordialement            Bul        
Commenter la réponse de cs_bultez
pho3nixhunt3r 6 Messages postés lundi 5 mai 2008Date d'inscription 16 juillet 2008 Dernière intervention - 16 juil. 2008 à 13:09
0
Merci
Donc si j'ai bien compris si j'écrit :
<script>
function nomnum(nom) {           
            return zone.match(/[^a-z]/i);
            }
</script>

si il y a des chifres nomnum = true
sinon nomnum = false
Commenter la réponse de pho3nixhunt3r
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 16 juil. 2008 à 13:39
0
Merci
ben non...
1° ça va planter. zone ? il connait pas !
2° match ne donne pas true ou false
    affiche ce que ça donne ( un alert ? )
<hr />                Cordialement            Bul        
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 16 juil. 2008 à 14:41
0
Merci
tu pouvais faire ( comme avec mon exemple ! )
return (reg_alphab.exec(nom)!=null)    ou presque...( == ) en fonction du résultat que tu voulais...
<hr />                Cordialement            Bul        
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 16 juil. 2008 à 14:43
0
Merci
A-Z inutile si on met /../i , +$ pas sûr...   
mais si ça baigne et que cela te convient : nickel
<hr />                Cordialement            Bul        
Commenter la réponse de cs_bultez

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.