Bonjour,
je voudrais savoir comment on peut verifier que la valeur d'une variable ne soit que des chiffres sans . ni d'opérateur seulement des chiffres
merci d'avance
Bonjour,
je voudrais savoir comment on peut verifier que la valeur d'une variable ne soit que des chiffres sans . ni d'opérateur seulement des chiffres
merci d'avance
Pourquoi 2 posts?
http://developpez.net/forums/showthread.php?t=226633
En PHP, il faut faire un truc du style:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if(!ereg('[0-9]', $str)) echo 'ok'; else echo 'Chiffres dans la variable...';
Beaucoup plus simple et plus optimisé : is_int() ou is_numeric().
Tu as deux solutions :Mais privilégies les Expressions Réguilères car elles te permettront d'avoir un format de vérification bien précis
- Expressions Régulières : Comment vérifier un nombre à l'aide d'expressions régulières ?
- Les fonctions nombres : Comment vérifier le format d'un nombre ?
Je persiste, le plus optimisé à ma connaissance :
Les expressions régulières sont en effet beaucoup plus fines, mais j'ai toujours lu qu'il vallait mieux utiliser les fonctions php quand elles existent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // entier positif ou négatif if (is_int($var)) ... // entier positif if (is_int($var) and $var>=0) ...
Je suis tout à fait d'accord avec toi, j'avais survolé la partie qui parlait du .
Donc en effet la solution 2 de mon post est plus appropriée ainsi que celle de vg33 vu que c'est un int qui est demandé
A mes tous débuts, je faisais comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if($var==($var*1)){...
Paraîtrait en plus que c'est plus rapide qu'une fonction is_int()...
Et que donne $var*1 si $var n'est pas numérique ?
Bonne question ! Je suppose que cela retourne null, à vérifier...Envoyé par vg33
La soluce de vg33 me paraît la plus optimale.
Faut juste prendre en considération (comme dit dans le manuel PHP) que les saisies utilisateur (transmises par $_POST, $_GET...) sont toujours considérées comme des chaînes de caractères.Envoyé par vg33
Du coup l'expression ultime ressemblerait à ça :
Bye
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // entier naturel if (is_numeric($var) && is_int($var) && $var >= 0)
NullEnvoyé par vg33
Cela fonctionne avec ce code :Mais bon...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if($var.' '==($var*1).' ') echo 'Valeur numérique.<br/>';else echo 'Valeur non numérique.<br/>';
En fait, j'ai confondu, c'est avec Javascript que j'utilisais cette méthode car plus rapide.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager