货币的 PHP 正则表达式


PHP Regular Expression for currency

我很好奇找到美元的正则表达式。 我的输入和规则是只能有数字 0 到 9 和一个可选的分位点。如果小数点存在,则它后面必须有两个 0 t 9 数字。

因此,它可以包括:10001000,99

但不是:10001.11000.1,000$100.9

你对正则表达式有所了解吗?让我解释一下解决方案:

1(你想要数字,这些是[0-9]

2(你至少想要其中一个,这是+

3(然后可能有一些东西,让我们把它放在括号里,0或1次意味着?

所以你现在有这个[0-9]+(something)?

4(现在你想要小数点,点是正则表达式中的特殊字符,所以你必须转义它'.

5(然后你又想要数字,正好是其中两个{2}

你在这里,完整的表达:

 $expression="/[0-9]+('.[0-9]{2})?/";

你来了:

/^[0-9]+(?:'.[0-9]{2}){0,1}$/

这将检查任意金额:

/^(?:[0-9]{1,3})(?:,[0-9]{3})*(?:|'.[0-9]+)$/

例如,它将验证:

1,432.33
  342
    1.2
    0.343