Regex inférieure à 100 [Résolu] - PHP - Programmation
Marsh Posté le 15-05-2008 à 17:35:42
if (intval($_POST['activite']) <= 100)
Marsh Posté le 15-05-2008 à 17:49:09
sielfried a écrit : if (intval($_POST['activite']) <= 100) |
+1
Citation : Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” |
Marsh Posté le 15-05-2008 à 18:16:04
#^(100|\d{1,2})$# |
Marsh Posté le 16-05-2008 à 09:13:23
Je ne doute pas de votre sielfried et Masklinn qui doit être fonctionnel mais pour garder une certaine propreté dans mon script je préfère garder la solution de anapajari qui me convient très bien
Merci à vous tous, @plouche !
Marsh Posté le 16-05-2008 à 09:22:18
wifsimster a écrit : pour garder une certaine propreté dans mon script je préfère garder la solution de anapajari |
C'est une blague?
Marsh Posté le 16-05-2008 à 09:38:06
et nan mais moi je deconnais ...
C'est completement con comme solution.
Marsh Posté le 16-05-2008 à 10:37:31
Oui mais elle marche et c'est ce que je cherchais à faire de toute façon et oui je trouve ça plus clair que le reste
Marsh Posté le 16-05-2008 à 10:40:58
wifsimster a écrit : Oui mais elle marche et c'est ce que je cherchais à faire de toute façon et oui je trouve ça plus clair que le reste |
Marsh Posté le 16-05-2008 à 10:57:30
wifsimster a écrit : Oui mais elle marche et c'est ce que je cherchais à faire de toute façon et oui je trouve ça plus clair que le reste |
Non pas du tout. Vérifier qu'un entier est inférieur à 100 se fait par une comparaison, surtout pas par une expression régulière.
N'oublie pas que les regexp sont les trucs les plus illisibles, et si tu peux faire sans, fait sans.
Marsh Posté le 16-05-2008 à 12:06:11
wifsimster a écrit : Oui mais elle marche et c'est ce que je cherchais à faire de toute façon et oui je trouve ça plus clair que le reste |
lol
Marsh Posté le 16-05-2008 à 12:10:55
Non mais il a raison après tout, un truc qui dit "il faut que ce soit une chaîne de caractères qui corresponde exactement à la chaîne '100' ou bien alors qui soit composée de un à deux caractères décimaux" c'est beaucoup plus clair que "il faut que ce soit un entier inférieur ou égal à 100"
Spoiler : en plus quand t'es payé au caractère ça en fait pas loin du double |
Marsh Posté le 16-05-2008 à 13:02:37
Je débarque mais ...
Marsh Posté le 16-05-2008 à 21:16:50
wifsimster a écrit : Je ne doute pas de votre sielfried et Masklinn qui doit être fonctionnel mais pour garder une certaine propreté dans mon script je préfère garder la solution de anapajari qui me convient très bien |
Oui mais c'est con ce que tu dis (désolé d'etre aussi sec). J'ai l'impression que si tu sais pas quand il faut les utiliser pour dire ca. Les expressions régulières est quelques chose de puissant mais à éviter tant que l'on peux pour 2 principales raisons :
Si c'est faire des simples recherches sur une chaine caractère, mieux vaut utiliser les fonctions basiques de php tel strstr et j'en passe
Si c'est un nombre, il faut utiliser les opérateurs *,+,%,- et de comparaisons <,>,=
Bref dans ton exemple, si ta variables contient un $_POST['activite'], tu fais
- un rtrim pour supprimer le %
- un floatval pour etre sur d'avoir un nombre float
floatval(rtrim ($_POST['activite'],'%')) <= 100
Marsh Posté le 17-05-2008 à 10:48:54
Ouki, merci !
Et l'ensemble de mes posts n'est pas "totozifiant" juste parce que je préfère utiliser une regex au lieu de d'autre contrôles...
C'est juste parce que tout mes contrôles étaient ainsi pour le moment et c'était plus rapide de changer mon expression que tu refaire un contrôle simplement, et j'avoue avoir tort sur ce que j'ai dit sur la propreté de mon code
Faut pas m'en vouloir je ne cherche qu'à apprendre mais certains sont plutôt des obstacles que des aides ici (comme partout), bref merci quand même !
Marsh Posté le 17-05-2008 à 11:52:09
On t'en veut parce qu'une expression régulière est à utiliser en dernier recours et toi tu l'utilise pour une test aussi simple ...
Non ne dis pas que tu cherche à apprendre, tu en fais qu'a ta tête. Tu veux pas te remettre en question. Si c'est vraiment légitime, dans ce cas donne nous les vrais raisons.
Marsh Posté le 19-05-2008 à 00:40:47
au moins tu as lu ma réponse et tu l'admets
bonne soirée à tous ... (ou plutot bon matin)
Marsh Posté le 15-05-2008 à 17:31:42
Bonjours,
Voilà j'ai une léger problème de regex que je n'arrive pas à résoudre.
Il me faudrait contrôler si ma variable ne dépasse pas 100 (c'est un pourcentage).
Je n'arrive que jusqu'à 99 avec ceci :
J'aimerais savoir s'il est possible de dire ou 100 directement dans le pattern ou une autre solution alors ...
Merci d'avance
Message édité par wifsimster le 18-05-2008 à 21:07:20