验证一个数字,数字为千位,小数点为hundreth

时间:2010-10-25 15:05:07

标签: php validation number-formatting

寻找一种简单的方法(函数/ RegEx)来验证数千的数字。

示例编号:

.00 - 999.00 should validate
1,000.00 should validate
100,000.00 etc... should validate
100,000,000,000,000.00 should validate

现在我已经看到了number_format(),但这会格式化数字而不是验证。

我想使用RegEx,但却失去了如何这样做。

preg_match(/^[\d]\,?\.[\d]{2}$/, $number);

但这不起作用。

我也查看了money_format(),但这又是格式而不是验证。

3 个答案:

答案 0 :(得分:1)

刚刚出头:

preg_match('%^[\d,]*\.\d{2}$%', $number);

这将匹配您提到的所有数字(实际上:每个字符串以数字和逗号组合开头,以“。”和数字结尾)。

同样,这是未经测试但应该有效。

答案 1 :(得分:1)

^(?:\d{1,3}(?:,\d{3})*)?\.\d{2}$

答案 2 :(得分:0)

如果您有PHP5.3 +,可以尝试使用Intl数字格式化程序:

http://www.php.net/manual/en/numberformatter.parse.php