我将这个表达式绑定到输入字段:
^[0-9]+(\.[0-9]{1,2})?$
但它让我只是数字而不是“点”(。)。问题在哪里?
^ [0-9] +(。[0-9] {1,2})?$< ---我也试过这个和同样的问题
^ [0-9] +([。] [0-9] {1,2})?$< - 我也试过这个和同样的问题
目标是获得一个最大2位且只有点(不是逗号)的无符号整数/浮点数
答案 0 :(得分:0)
此处?
:
^[0-9]+(\.[0-9]{1,2})?$
^
...表示它前面的组是可选的。这意味着如果某些内容与^[0-9]+$
部分匹配,那么它就是有效的。如果您的目标是要求数字为.
(这有点奇怪),请移除?
。
您还使用了捕获组。如果您只是使用此功能进行验证,则不需要捕获组,只需要非捕获组:(?:....)
:
^[0-9]+(?:\.[0-9]{1,2})?$
如果您的目标是在.
之前要求至少一个数字,那么在它之后需要一个或两个数字(例如,使"10"
成为无效输入),这里的正则表达式是验证:
^\d+\.\d{1,2}$