Tester une variable et savoir si un chiffre est présent

Résolu
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   -  
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour a tous 

je souhaiterais pouvoir tester une variable et savoir si elle contient au moins un chiffre de 1 a 9

dans la même configuration  que lorsque je teste une variable afin de savoir si elle est bien numérique 

par exemple

else if($c <> filter_var($c, FILTER_VALIDATE_INT)) {
    echo "0-11"; 
}

Une des façons que j'ai trouvé c'est comme ceci

​
if(!preg_match('#[^1-9]#',$value))
{
    echo "Value is numeric";
}
else
{
    echo "Value not numeric";
}

​

mais ce qui m'ennuie c'est le else 

je souhaiterais plutôt avoir ceci par exemple

​
elseif(!preg_match('#[^1-9]#',$value))

{
    echo "Value not numeric";
}

​
A voir également:

5 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour,

Il te suffit d'enlever le "NOT"  ( symbolisé par le point d'exclamation)


1
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   190
 

bonjour jordane merci 

0
Utilisateur anonyme
 

Bonjour

je ne code pas en PHP.

Mais les regex je maitrise,  et là franchement je ne comprends pas ta logique.

Ta question est

Tester une variable et savoir si un chiffre est présent

Et ta regex teste si le résultat n'est pas tout sauf un chiffre.

Et quand ce résultat n'est pas tout sauf un chiffre, tu affiches que la chaine est numérique ce qui n'est pas rigoureusement exact, c'est un nombre entier et positif

Enfin tu dis que tu veux coder un "else if" avec "par exemple" exactement le même test

  • donc ça ne viendra jamais dans ce else if.
  • et ça ne nous permet pas de savoir ce que tu veux faire...

Donc pour répondre "bêtement" au titre de ton message, pour tester si une chaine contient au moins un chiffre \d suffit.

Exemple en cliquant ici

Si comme le semble suggérer ton code, finalement tu veux savoir si la chaine est complément constituée de chiffres, ^\d+$ suffit

Exemple ici

Et si c'est autre chose que tu cherches, comme on te l'a déjà dit à maintes reprises, faut être explicite dans tes explications


1
Utilisateur anonyme
 

De rien, cela dit \d ça valide qu'il y a au moins un chiffre, pas que tout le texte est constitué de chiffres....


1
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   190
 

bonjour

un très grand merci pour l'aide et les explications 

en effet tu avais raison c 'est bien \d  qu'il me fallait et qui était suffisant 

a présent l'utilisateur ne sait pas rentrer autre que des chiffres

encore merci

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
flexi2202 Messages postés 3822 Date d'inscription   Statut Membre Dernière intervention   190
 

oui c'est bien cela qui m'intéressais

Encore merci 

0