繁体   English   中英

PHP货币正则表达式

[英]PHP Regular Expression for currency

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

因此可以除外:1000 1000.99

但不是:10001.1 1000. 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM