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 :

[regexp] pbl expression réguliére et menu déroulant


Sujet :

JavaScript

  1. #1
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut [regexp] pbl expression réguliére et menu déroulant
    bonjour a tous,

    voila, j'ai un ti probléme avec mon expression réguliére. J'ai un menu déroulant qui se présente comme tel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <select>
    <option value='0' >1 - Lait()</option>
    <option value='1' >2 - Eau()</option>
    <option value='2' >3 - Pain(g)</option>
    <option value='3' >4 - Poisson(g)</option>
    </select>
    le texte du menu déroulant est ajouté dans un champ text via une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function addProd(dest) {
    	var tmp=document.getElementById(dest);	
    	var text=document.getElementById('produits').options[document.getElementById('produits').selectedIndex].text;
    	var add=text + " [" + document.getElementById('qtt').value + "]";
    	[b]var reg=new RegExp(text, "ig");[/b]
    	if (!reg.test(tmp.value))
    		if (tmp.value=='') tmp.value = add; else tmp.value = tmp.value+ "\n" + add;
    }
    j'utilise l'expresion reguliére pour verifier que le texte n'existe pas déjà
    avec les deux premiéres valeurs ca fonctionne impec mais avec les autres il rajoute le texte meme si il existe déjà.
    Je n'arrive pas a trouver mon erreur donc si qq1 peut m'aider!

    merci d'avance !

  2. #2
    Membre régulier Avatar de nicolb
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 184
    Points : 103
    Points
    103
    Par défaut
    Hello !

    Le problème vient du fait que tes parenthèses dans ta liste d'options ne sont pas interprétés littéralement dans la RegExp, mais comme des caractères spéciaux.

    Voici le code qui fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function addProd(dest) { 
      var tmp=document.getElementById(dest);    
      var text=document.getElementById('produits').options[document.getElementById('produits').selectedIndex].text; 
      pattern = text.replace(/([)(])/g,"\\$1")
      var reg=new RegExp(pattern, "ig");
      if (!reg.test(tmp.value)){ 
         if (tmp.value==''){
    	 tmp.value = text;
    	 }
    	 else{
    	 tmp.value = tmp.value+ "\n" + text; 
    	 }
    	}
    }
    @+

  3. #3
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut excellent
    excellent, ca fonctionne du tonnerre

    merci beaucoup pour ton aide

    va vraiment falloir que je m'y mette au expression reguliére

    encore merci :p

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 22
    Dernier message: 18/07/2006, 15h05
  2. [RegExp]Expressions régulières
    Par Guybrush dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 03/04/2006, 10h13
  3. [regexp] petit problème d'expression régulière
    Par LE NEINDRE dans le forum Langage
    Réponses: 14
    Dernier message: 16/12/2005, 10h33
  4. Réponses: 7
    Dernier message: 27/07/2005, 12h41
  5. [RegExp]expression régulière
    Par illegalsene dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2005, 15h33

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