我得到了小数的正则表达式:
/^(\d{1,3})(\.{0,1}\d{0,2})$/
但它允许“1”。
我该如何解决这个问题?
答案 0 :(得分:5)
以下正则表达式匹配1-3位数字,可选地后跟小数点和1-2位数字。
/^(\d{1,3})(\.\d{1,2})?$/
请注意,我还将您的.
更改为\.
。它是一个匹配任何东西的元字符,所以它必须被转义。
答案 1 :(得分:1)
/^(\d{1,3})(\.\d{1,2})?$/
我假设你试图在0到999.99之间匹配,小数为0,1或2。如果没有小数,则不需要句点分隔符。如果是这种情况,您需要上述内容。
答案 2 :(得分:0)
对于它的价值,如果您不想在数字的开头强制使用0
,则可以使用以下表达式:
(\d*\.)?\d+
这将匹配:
1
.1
1.1
这不匹配:
1.
.
通过一些修改,此表达式仍可用于强制使用一定数量的数字:
(\d{1,3}\.)?\d{1,2}