Le message d'erreur que tu reçois ne semble pas être en rapport avec la condition que tu as postée.
À propos de cette condition, je suis assez curieux de ce que tu cherches à tester avec. Peux tu l'exprimer en bon français histoire de voir si elle correspond bien à ce que tu en attends?
D'autre part ton analyse est erronée, 200 (tout comme n'importe quel nombre positif avec moins de 4 décimales ou une chaîne vide) ne vérifie pas la condition !preg_match("#^[0-9]*\.?[0-9]{0,3}$#", $valeur)
var_dump(!preg_match("#^[0-9]*\.?[0-9]{0,3}$#", 200));
affiche:
Partager