preg_match("#^\d+\.?\d*$#",$number);
// 1 - return 1
// 1.2 - return 1
// 2.25 - return 1
// 1. - return 1 - but this not full number(there is no fractional part)
// and should return 0
我的支票号1.
存在问题,因为我得到1
而不是0
。
对于解决问题我尝试使用preg_match("#^\d+\.?(?=\d)\d*#",$number);
但它不起作用,因为在后一种情况下,1
返回0
。
请告诉我为什么preg_match("#^\d+\.?(?=\d)\d*#",$number);
返回0
号码1
以及如何解决?
答案 0 :(得分:2)
试试这个:
preg_match("#^\d+(\.\d+)?$#",$number);