Expression régulière

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. 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. 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
  2. peut etre simplement

    ereg("[0-9]",$string);
    0
    1. Cela ne fonctionne pas non plus.
      Mais merci quand même.
      0