PHP 货币正则表达式

标签 php regex format numbers

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

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

允许

  • 10
  • 100
  • 100.00

不允许

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

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

希望大家多多指教

最佳答案

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

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

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

所以

100.000

将匹配,而

100.0001

不会。

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

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

关于PHP 货币正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/814973/

相关文章:

php - 获取特定用户的 ID

php - 使用数据库中不同行的foreach循环显示多个产品

正则表达式 : what does @ means before (?

c - 输入非 ASCII 字符到 scanf ("%s")

git - 我怎样才能让 git log 在一行上打印每个提交的完整哈希和简短统计信息?

c - 格式化字符串漏洞 - printf

php pdfparser 不适用于 pdf 版本 1.7

php - 如何在 Laravel 模型中编写 NotMapped 实体?

jquery使用正则表达式查找id包含字符串的选择器

r - 如何在以逗号分隔的单引号之间拆分字符串?