十进制验证+ PHP?

时间:2010-02-09 09:48:07

标签: php validation decimal option

如何在PHP中进行十进制数验证?

:)

(小数点是可选的) 它应该接受...... 0, 1, 2, 0.123, 0.2, 12.34等。

4 个答案:

答案 0 :(得分:7)

这些都适合您的需求吗?

答案 1 :(得分:4)

英语语言环境的答案已经发布。如果您需要这样的行为,NumberFormatter :: parse()会处理其他语言环境:

$formatter = new NumberFormatter('de-DE', NumberFormatter::PATTERN_DECIMAL);
if ($formatter->parse($value) !== false) {
    # A correct numeric value in german locale, like '12.345,00001'
}

答案 2 :(得分:2)

使用is_float ...

答案 3 :(得分:2)

建议is_float / is_numeric不起作用,因为is_float不接受请求参数(字符串),is_numeric会接受类似“+ .1e0”的东西,这不是你想要的。可靠的方法是使用正则表达式进行验证,例如

 $is_decimal = preg_match('/^\d+(\.\d+)?$/', $some_string);

表达式可能因您的需要而异。例如,以上内容也将接受“000.00”或“111111111111111”。