Expression régulière

lds Messages postés 6 Statut Membre -  
lds Messages postés 6 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.
A voir également:

2 réponses

phpman
 
peut etre simplement

ereg("[0-9]",$string);
0
lds Messages postés 6 Statut Membre
 
Cela ne fonctionne pas non plus.
Mais merci quand même.
0
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
lds Messages postés 6 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