【发布时间】:2019-04-17 20:31:17
【问题描述】:
我正在尝试进行必须接受最多 3 个字段的十进制数字的验证。逗号只有在您输入了至少一个数字时才会出现
Allow:
100,000
1,0
1
1,00
Doesn't Allow:
,00
,150
,0
100 100
我试过了(我用React来获取输入值):
var code = (event.which) ? event.which : event.keyCode;
if (code !== 46 && (code < 48 || code > 57)) {
event.preventDefault();
}
到目前为止,我已经设法仅限制字段和要点。但是,它仍然允许.000,并且不限于小数点后三位。
我该怎么做?
-------------- 更新解决方案 --------------
我发现 this answer 解决了我的问题。非常感谢你们的帮助
【问题讨论】:
-
验证整个值,不要验证单个按键。如果用户在按键之间移动光标会发生什么?
-
您的解决方案不是正则表达式。您应该专门要求一个或删除 [regex] 标签。
-
十进制数最多包含 3 个字段是什么意思?是逗号后面的3位数还是别的什么?
标签: javascript regex reactjs validation