如何在PHP中检查表单输入是否为数字?

10 php validation numeric

我需要能够看到PHP中的表单输入是否为数字.如果它不是数字,则网站应重定向.我尝试过is_numeric()但它似乎不起作用.

代码示例会很好.

我正在开发一个接受数量整数值的购物车.我在尝试这个:

if(!is_numeric($quantity)){
                //redirect($data['referurl']."/badinput");
                echo "is not numeric";
        }
Run Code Online (Sandbox Code Playgroud)

mar*_*kus 14

if(!is_numeric($quantity == 0)){
                //redirect($data['referurl']."/badinput");
                echo "is not numeric";
Run Code Online (Sandbox Code Playgroud)

你在这里有两个嵌套的条件.假设$ quantity是1.

第一个条件评估1 == 0并返回FALSE.第二个条件检查FALSE是否为数字并返回FALSE,因为FALSE不是数字.

写吧:

if (!is_numeric($quantity))
{
    echo 'is not numeric';
}
Run Code Online (Sandbox Code Playgroud)


Rob*_*Rob 7

你应该用"数字"解释你的意思 - 积分,浮点,指数表示法等?is_numeric()将接受所有这些.

如果要检查字符串是否包含除数字之外的任何内容,则可以使用正则表达式,例如

/^\d+$/
Run Code Online (Sandbox Code Playgroud)

如果你要使用实际值就好像它是一个整数,你可能想要传递它intval(),0如果无法解析值,它将返回- 如果0是有效值,那么你可能会有以某种方式处理它,可能通过约束值的较低范围.