Expression régulière

Fermé
lds Messages postés 6 Date d'inscription mardi 24 avril 2001 Statut Membre Dernière intervention 11 octobre 2001 - 24 avril 2001 à 15:20
lds Messages postés 6 Date d'inscription mardi 24 avril 2001 Statut Membre Dernière intervention 11 octobre 2001 - 7 mai 2001 à 08:33
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

peut etre simplement

ereg("[0-9]",$string);
0
lds Messages postés 6 Date d'inscription mardi 24 avril 2001 Statut Membre Dernière intervention 11 octobre 2001
3 mai 2001 à 13:59
Cela ne fonctionne pas non plus.
Mais merci quand même.
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 607
5 mai 2001 à 15:55
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 Date d'inscription mardi 24 avril 2001 Statut Membre Dernière intervention 11 octobre 2001
7 mai 2001 à 08:33
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