PHP: le Meilleur moyen de vérifier si l'entrée est un nombre valide?
Quelle est la meilleure façon de vérifier si l'entrée est numérique?
- 1-
- +111+
- 5xf
- 0xf
Ces chiffres ne doivent pas être valide. Seuls les nombres comme: 123, 012 (12), des nombres positifs doivent être valides.
C'est la mi code actuel:
$num = (int) $val;
if (
preg_match('/^\d+$/', $num)
&&
strval(intval($num)) == strval($num)
)
{
return true;
}
else
{
return false;
}
- ne pas faire (int) en 1ère ligne dans votre code! de le transformer (string) puis de travailler avec des chaînes de caractères avec ctype_digit($num) fera mieux que int(proff dans le manuel de php.net/ctype_digit) !!!
Vous devez vous connecter pour publier un commentaire.
ctype_digit
a été construit à cette fin.ctype_digit(2)
ne fonctionne pas- Je utiliser
afin de valider si une valeur est numérique, positive et d'intégrale
http://php.net/is_numeric
Je n'aime pas vraiment ctype_digit que ce n'est pas aussi lisible que "is_numeric" et a fait moins de défauts quand vous voulez vraiment pour valider une valeur numérique.
filter_var()
ctype_digit
Pour PHP version 4 ou version ultérieure: