PHP 货币正则表达式

Lee*_*Lee 3 php regex format numbers

我试图找到一段正则表达式来匹配货币价值。

我只想匹配数字和 1 个小数点,即

允许

  • 10
  • 100
  • 100.00

不允许

  • 字母字符
  • 100,00
  • +/- 100

我已经搜索并尝试了很多但没有任何运气。

希望你能指教

The*_*per 6

if (preg_match('/^[0-9]+(?:\.[0-9]+)?$/', $subject))
{
    # Successful match
}
else
{
    # Match attempt failed
}
Run Code Online (Sandbox Code Playgroud)

旁注:如果你想限制你想要的小数位数,你可以这样做:

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

所以

100.000
Run Code Online (Sandbox Code Playgroud)

将匹配,而

100.0001
Run Code Online (Sandbox Code Playgroud)

惯于。

如果您需要任何进一步的帮助,请发表评论。

PS如果可以,请使用上面发布的数字格式化程序。本机函数总是更好(更快),否则此解决方案将为您提供良好的服务。