1

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

所以它可以除外:1000 1000.99

但不是:10001.1 1000. 1,000 $100.9

4

3 回答 3

6

你知道正则表达式吗?让我解释一下解决方案:

1)你想要数字,那些是[0-9]

2)您至少想要其中一个,即+

3)那么可能有东西,我们把它放在括号里,0或1次表示?

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

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

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

你在这里,完整的表达:

 $expression="/[0-9]+(\.[0-9]{2})?/";
于 2012-05-18T07:00:14.257 回答
3

干得好:

/^[0-9]+(?:\.[0-9]{2}){0,1}$/
于 2012-05-18T06:52:32.477 回答
0

这将检查任意数量:

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

例如,它将验证:

1,432.33
  342
    1.2
    0.343
于 2016-06-04T10:22:06.123 回答