(。)点在jquery正则表达式中没有显示

时间:2014-11-29 16:22:35

标签: jquery regex

我将这个表达式绑定到输入字段:

^[0-9]+(\.[0-9]{1,2})?$

但它让我只是数字而不是“点”(。)。问题在哪里?

^ [0-9] +(。[0-9] {1,2})?$< ---我也试过这个和同样的问题

^ [0-9] +([。] [0-9] {1,2})?$< - 我也试过这个和同样的问题

目标是获得一个最大2位且只有点(不是逗号)的无符号整数/浮点数

1 个答案:

答案 0 :(得分:0)

此处?

^[0-9]+(\.[0-9]{1,2})?$
                     ^

...表示它前面的组是可选的。这意味着如果某些内容与^[0-9]+$部分匹配,那么它就是有效的。如果您的目标是要求数字为.(这有点奇怪),请移除?

您还使用了捕获组。如果您只是使用此功能进行验证,则不需要捕获组,只需要非捕获组:(?:....)

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

如果您的目标是在.之前要求至少一个数字,那么在它之后需要一个或两个数字(例如,使"10"成为无效输入),这里的正则表达式是验证:

^\d+\.\d{1,2}$