我有以下正则表达式:^-?([0-9]{0,3}$|[0-9]{0,2}\.?[0-9]{0,1}$)
它不应该允许 4 位数字,例如 4444。如果我在这里尝试,表达式工作正常,但在 javascript 中,代码无法按预期工作。它允许 4 位数字。所有其他验证工作正常。
这是我的代码:
reg0str = "^-?([0-9]{0,3}$|[0-9]{0,2}\.?[0-9]{0,1}$)";
var reg0 = new RegExp(reg0Str);
if (reg0.test(temp)) return true;
更新解释功能:
我只想允许 3 位数字。因此,要么我只能允许小数点后 1 位,小数点前 2 位,要么我可以允许小数点前最多 3 位,小数点后不允许。
所以我的第一部分:
[0-9]{0,3}$
我认为这应该允许最多 3 位数字,并且只允许数字。
下一部分: [0-9]{0,2}\.?[0-9]{0,1}$
应该允许最多小数点前 2 位数字和小数点后最多 1 位数字。