正则表达式匹配最多2位数的数字,最多可选2位小数

时间:2017-01-05 19:14:58

标签: javascript php regex

我一直在寻找这几天,但我找到的唯一一种正则表达式是这样的:

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

这适用于以下输入:

9
99
9.9
9.99
99.9
99.99
.9
.99

一切都没问题,但它也恰好接受像

这样的输入
999
9999

我不希望这种情况发生。我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式进行更改:

^(?:\d{1,2}|\d{0,2}\.\d{1,2})$

RegEx Demo

RegEx说明:

^           # start
(?:         # start non-capturing group
   \d{1,2}  # match 1 or 2 digits
   |        # OR
   \d{0,2}  # match 0 to 2 digits
   \.       # followed by DOT
   \d{1,2}  # match 1 or 2 digits
)           # end non-capturing group
$           # end

答案 1 :(得分:0)

使用以下正则表达式

(\d{0,2})\.\.?\d{0,2}$