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
Discussion :
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 ?
Avant toutes questions : Développement Web, (X)HTML, CSS, JavaScript, AJAX, ASP, Flash/Flex, Webmarketing, XML, PHP
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é
Avant toutes questions : Développement Web, (X)HTML, CSS, JavaScript, AJAX, ASP, Flash/Flex, Webmarketing, XML, PHP
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()...
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.
Partager