2011-01-14 264 views

回答

20
^[0-9]*\.[0-9]{2}$ or ^[0-9]*\.[0-9][0-9]$ 
+0

如何使用这个在JavaScript中匹配 – 2016-07-14 09:55:36

7

如果你正在寻找一个整条生产线的比赛我会与保罗的答案去。

如果你正在寻找匹配的一些witihn线尝试:\d+\.\d\d(?!\d)

  • \d+一个的多个数字(同[0-9]
  • \.匹配于句号
  • \d\d匹配两个小数位
  • (?!\d)是否定的预测,确保下一个字符不是数字。
+0

'D'=>'\ D'和`!?`=>`? !` – marcog 2011-01-14 12:51:56

+0

@marcog:谢谢。我看了几遍,未能发现那些错别字... – Grhm 2011-01-14 13:05:24

3

这取决于有点什么应该不匹配,应该怎样和在什么情况下

例如,你应该对测试仅文本持有多少?在这种情况下,你可以这样做:

/^[0-9]+\.[0-9]{2}$/ 

但是,这将考验整个字符串,因此失败,如果这场比赛应该是一个更大的整体

一部分来完成,如果它需要内部较长styring你可以做

/[0-9]+\.[0-9]{2}[^0-9]/ 

但如果字符串是会失败仅仅是数字(因为它需要一个没有数字跟随数)

,如果您需要到b Ë能够覆盖这两种情况下,你可以使用以下命令:

/^[0-9]+\.[0-9]{2}$|[0-9]+\.[0-9]{2}[^0-9]/ 
+0

有趣的方法。我不确定它会在更长的字符串末尾发生一个数字。我建议你的最后一行可以改为`/ [0-9] + \。[0-9] {2}([^ 0-9] | $)/` – Grhm 2011-01-14 13:09:37

0

您也可以尝试正则表达式

^\d+(\.\d{1,2})?$ 

or 
var regexp = /^\d+\.\d{0,2}$/; 

// returns true 
regexp.test('10.5') 

or 
[0-9]{2}.[0-9]{2} 

or 
^[0-9]\d{0,9}(\.\d{1,3})?%?$ 

or 
^\d{1,3}(\.\d{0,2})?$ 
-1

是下面的值是有效的浮点输入(如价格字段)?

0.00 in price field?

按我的0.01和0.10是有效的,但不是0.00是无效的浮点值

相关问题