preg_match,数字为PHP

时间:2015-05-06 14:57:19

标签: php regex numbers preg-match

当我使用它时:

preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/', 0.0001);

返回值为1,当我使用它时:

preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/', 0.00001);

返回值为0.

有人可以说我为什么好吗?谢谢!

1 个答案:

答案 0 :(得分:5)

因为小浮点数通常使用指数表示法显示,所以0.00001转换为1.0E-5,这与正则表达式不匹配。如果你只是这样做,你可以看到:

echo 0.00001;

正则表达式应该与字符串一起使用,而不是数字。

preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/', '0.00001');