IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

utilisation de RegExp en JavaScript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Par d�faut utilisation de RegExp en JavaScript
    Bonjour,

    Voil� je d�bute en Javascript et je n'arrive pas � utiliser les expressions r�guli�res... Je n'arrive pas � voir mon erreur.Voici le code html, puis la fonction Js.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <form action="#" class="formulaire" method="post" onsubmit="return nom();" name="rechercher">
    	<table border=0>
    		<tr>
    			<td>Entrer le nom du client :</td><td> <input type="text" name="nom" id="nom" size="15" maxlength="20"/></td>
    		</tr>
    		<tr>
    			<td>Entrer le n° de téléphone du client :</td><td> <input type="text" name="tel" id="tel" size="10" maxlength="10"/></td>
    		</tr>
    	</table>
    	<div id="button">
    		<input type="submit" name="submit"/>
    		<input type="reset" name="reset" />
    	</div>
    </form>


    Puis la fonction js
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function nom()
    {
    var chaine = document.rechercher.nom.value;
    var exp = /[A-Za-z]/;						
    if(chaine.test(exp))
    {
    alert("non");
    return(false);
    }
    }
    Je veux en fait contr�ler que le "nom" de contienne que des lettres, mais �a ne fonctionne pas et � chaque fois le formulaire est envoy�.
    Merci d'avance pour votre aide.
    Guillaume

  2. #2
    jnore
    Invit�(e)
    Par d�faut
    Salut

    Personnellement, j'aurais plut�t test� la pr�sence de caract�res interdits.

    par ex, v�rifier si pr�sence de chiffres:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function nom() {
    	var chaine = document.rechercher.nom.value;
    	var exp = /[\d]{1,}/;					
    		if(chaine.test(exp)) {
    			alert("chiffre présent");
    			}
    	}

  3. #3
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Non, non ^^

    En l'occurrence, le probl�me est tout simple : c'est une inversion.

    String.test(Regexp r) n'existe pas.
    C'est Regexp.test(String s) qui existe

    Essaie :
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    function nom() {
       var testAlpha = !(/[^a-zéèêàâôûùç\-]/i).test(document.forms["rechercher"].inputs["nom"].value);						
       if (testAlpha) {
          alert("Erreur :\nLe nom saisi ne contient pas que des lettres.");
       }
       return testAlpha;
    }
    (n'acceptera que les lettres, ainsi que le "-" pour les pr�noms compos�s, et les principales lettres accentu�es (ma liste n'est pas exhaustive, c'�tait pour l'exemple), le tout en majuscules ou minuscules)

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Par d�faut
    Merci beaucoup � vous 2 pour votre aide mais �a ne fonctionne toujours pas
    Etrange...

  5. #5
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Etrange en effet
    ...et si �ventuellement tu nous donnais *un peu plus* de d�tails sur le "ne fonctionne pas" ?

    En attendant, acc�der � l'input par son id me semble ici plus clair :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    function nom() {
       var testAlpha = !((/[^a-zéèêàâôûùç\-]/i).test(document.getElementById("nom").value));						
       if (testAlpha) {
          alert("Erreur :\nLe nom saisi ne contient pas que des lettres.");
       }
       return testAlpha;
    }

  6. #6
    jnore
    Invit�(e)
    Par d�faut
    Citation Envoy� par RomainVALERI Voir le message
    Non, non ^^

    En l'occurrence, le probl�me est tout simple : c'est une inversion.

    String.test(Regexp r) n'existe pas.
    C'est Regexp.test(String s) qui existe
    Oups....
    Tu as raison!
    Ce n'est pas faute de l'utiliser pourtant!
    J'ai recopi� b�tement le code.

  7. #7
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Merci beaucoup � vous 2 pour votre aide mais �a ne fonctionne toujours pas
    Parce que dans ton expression, tu ne testes que la pr�sence d'un caract�re dans la chaine !
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var testAlpha = ((/^[a-zéèêàâôûùç\-]+$/i).test(document.getElementById("nom").value));
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  8. #8
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Citation Envoy� par Bovino Voir le message
    tu ne testes que la pr�sence d'un caract�re dans la chaine !
    Attends voir...

    Effectivement la regexp ne tente pas de capturer toute la chaine contenant un caract�re interdit, mais test() devrait quand m�me renvoyer "true" si la regexp est match�e quelque part, que ce soit au d�but, � la fin de la chaine, ou m�me si tous les caract�res �taient invalides... non ?

    edit : aah ! mais non que je suis b�te ! j'�tais pas r�veill� on dirait : �videmment la regexp va renvoyer true si il y a au moins un caract�re valide.... Au temps pour moi (voir solution de Bovino)

Discussions similaires

  1. R�ponses: 1
    Dernier message: 31/07/2008, 09h57
  2. [SVG] Probl�me utilisation use, g et javascript
    Par Mormegil dans le forum XSL/XSLT/XPATH
    R�ponses: 1
    Dernier message: 17/07/2007, 16h54
  3. [Tableaux] Utiliser un regexp ou non ?
    Par renaud26 dans le forum Langage
    R�ponses: 4
    Dernier message: 18/07/2006, 13h35
  4. Utilisation d'une variable Javascript en html
    Par Crazynoss dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 28/10/2005, 16h43
  5. Utilisation des Array en javascript serveur
    Par clisson dans le forum XMLRAD
    R�ponses: 4
    Dernier message: 13/06/2005, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo