Expression régulière

lds Messages postés 6 Date d'inscription   Statut Membre -  
lds Messages postés 6 Date d'inscription   Statut Membre -
Bonjour à tous et toutes,
Je souhaite filtrer les caractères d'un champ appartenant à un formulaire.
J'uitlise donc la fonction ereg de PHP.
L'objectif et de n'avoir que des nombres.
Je pense donc à l'expression régulière suivante "^[:digit:]+$".
Cependant ça ne marche pas tout le temps.
Si vous avez une idée...
Merci.

2 réponses

  1. phpman
     
    peut etre simplement

    ereg("[0-9]",$string);
    0
    1. lds Messages postés 6 Date d'inscription   Statut Membre
       
      Cela ne fonctionne pas non plus.
      Mais merci quand même.
      0
  2. PhP Messages postés 1774 Statut Membre 606
     
    Slt lds

    J'ai testé ca semble pourtant fonctionner

    Dans quels cas cela ne marche-t-il pas ?
    As-tu un ex ?
    Sinon tu peux aussi utiliser les expressions régulières au format
    Perl qui me semble mieux fonctionner en php

    Cela donne :

    preg_match("/^[0-9]*&/",$string)

    @+
    Philippe
    0
    1. lds Messages postés 6 Date d'inscription   Statut Membre
       
      Salut,

      Voici le type de formulaire :
      <form name="testons" action="testExpReg.php">
      <input name="chiffres" size="20">
      <br>
      <br>
      <input type="submit" name="envoyer" value="Envoyer">
      </form>

      Et voici le script :

      <?
      echo $chiffres ;
      if ( eregi("^[:digit:]+$",$chiffres) ) {
      echo "<BR>NOMBRE" ;
      } else {
      echo "<BR>CHAINE" ;
      }
      ?>


      En testant avec "g" la réponse est NOMBRE alors qu'avec des nombres la réponse est CHAINE ??

      Si tu as une idée, merci.

      @+,
      LDS
      0