Expressions régulier

neyo -  
 neyo -
bonjour ,
est qu'il y a quelqu'un qui peut m'aider trouver une expression régulier pour tester ces variable?
voici un exemple des variable:
1
2
20
3.5
23.54
abc.sql
a_b_c.sql

Merci d'avance
Configuration: Linux
Firefox 1.5.0.12

2 réponses

  1. neyo
     
    c'est tres urgent je suis bloquer
    merci
    0
  2. nherment Messages postés 94 Statut Membre
     
    Il y a plusieurs variables que tu veux traiter n'est-ce pas ?

    Sépare chacune de tes variables. Ta question n'est pas assez précise.

    Est-ce une variable qui va prendre les valeurs que tu as donné ou plusieurs variables ?
    0
    1. neyo
       
      Merci de repondre
      voila j'ai un champ a verifier avec du javascript.
      l'utilisateur doit entrer des variable de ce type:
      par ex :
      1
      198
      1.2
      abec.sql
      a_be_c.sql

      alors s'il rentre des varibale de cette forme ca doit m'afficher un message d'erreur

      abdc
      1.abcde
      1_2
      abcfe*
      et aussi l'espace entre les caractére

      j'utilise un preg_match

      j'espére que vous m'avez compri

      Merci d'avance
      0
    2. nherment Messages postés 94 Statut Membre
       
      Je ne saisi toujours pas tout mais je vais essayer de reformuler.
      Dis moi si je vise juste :

      l'utilisateur renseigne un champ. Ce champ doit autoriser :
      - les nombres entiers
      - les nombres décimaux (utilisant comme séparateur décimal le point)
      - les suites de lettres comportant dans l'ordre (abec) et comportant l'extension .sql. Les suites de lettres peuvent être séparées par un underscore "_" mais par rien d'autre.

      Si l'utilisateur rentre autre chose que ce qui est listé ci-dessus dans son champ alors un message d'erreur apparaît.
      0
    3. neyo > nherment Messages postés 94 Statut Membre
       
      oui ta bien visé.
      juste un petit truc pour les suites de lettres, c'est pas obligatoir qu'ils soient dans l'ordre .
      n'importe qu'elle chaine de caractére suivi juste d'un seul "point" apres suivi par "sql"
      0
    4. nherment Messages postés 94 Statut Membre > nherment Messages postés 94 Statut Membre
       
      ok alors en php (je ne connais pas le javascript, à toi d'adapter) ca va donner un truc comme :

      if(pregmatch("#^[0-9]+$#", $variable) && pregmatch("#^[0-9]+\.[0-9]+$#", $variable) etc.)
      {
            // la chaine de caracteres entrée par l'utilisateur est ok
      }
      else
      {
           // erreur
      }
      

      avec la dernière reg_ex :
      "#^[a-z]+\.sql$#"

      donc pour synthétiser, tu as 3 regex :
      #^[0-9]+$#
      qui valide les entiers
      #^[0-9]+\.[0-9]+$#
      qui valide les décimaux
      #^[a-z]+\.sql$#
      qui valide les chaines de caractère comportant l'extension .sql
      0
    5. Reivax962 Messages postés 3742 Statut Membre 1 011 > nherment Messages postés 94 Statut Membre
       
      Bonjour,

      En mettant des || plutôt que des && dans le test, ça devrait mieux marcher :)

      Sinon, en une seule expression rationnelle :
      ([0-9]+(\.[0-9]+)?)|([a-z]+\.sql)

      C'est à dire : entiers, suivis ou non d'une partie décimale, OU une chaine de caractères en minuscules suivie de .sql
      0