正则表达式允许最多2个小数位可选前导0

时间:2014-09-18 19:18:47

标签: regex

我有以下正则表达式

/^\d*[0-9](?:\.[0-9]{1,2})?$/

如何修改它以便允许使用.12和.0等数字?我想保留它以便它们只能输入数值,但我需要允许上面没有前导数字的值。

目前它运作良好但只有当你提供一个前导零时。

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以使用替换:

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

答案 1 :(得分:2)

^(?!^$)\d*[0-9]?(?:\.[0-9]{1,2})?$

试试这个。看看演示。

http://regex101.com/r/lE9oV4/1

答案 2 :(得分:1)

这里是正则表达式:

/
^      # The string start with...
\s*    # Any leading spaces
0*     # Any leading zeros 

# Now the number we want to match
(      
   [0-9]?     # Maybe a positive number 
   # An optional decimal part
   (?:          
      [.,]       # A decimal point or a comma
      [0-9]{1,2} # One or two values after the comma
   )?
)
0*     # Perhaps some trailing zeros
/gmx

演示:http://regex101.com/r/cI8xP4/1