如何用Regex检查有效小数点?

liy*_*kat 2 php regex preg-match

如何检查号码是否有效以下字符串.

最后2位数可能包含十进制值,也可能不包含.

下面是我已尝试过的代码,preg_match但无法取得任何成功

$newPrice = "2,264.00"; or //  $newPrice = "264.00"; 

 if (!preg_match('/^[+-][0-9]+(\,[0-9]+)?%?$/', $newPrice))
{                
    echo "not valid";
 }else{                    
       echo "valid";
}
exit();
Run Code Online (Sandbox Code Playgroud)

根据允许的格式,以上两个价格都是正确的.

Joa*_*son 6

正则表达式有3个部分;

[0-9]{1,3}     1-3 digits
(,[0-9]{3})*   An optional repeated part of a comma + 3 digits
(\.[0-9]{2})?  An optional part of a decimal dot and 2 digits
Run Code Online (Sandbox Code Playgroud)

这可以写成;

/^[0-9]{1,3}(,[0-9]{3})*(\.[0-9]{2})?$/
Run Code Online (Sandbox Code Playgroud)