我试图验证0.0到0.999或.0到.999之间的十进制数。
我正在尝试下面的内容,
$('#num').on("keyup", function () {
var value = $(this).val();
var regex_cell = /0(\.\[0-9]{3})?/;
if (!value.match(regex_cell)) {
this.value = this.value.replace(this.value.slice(-1), "");
}
});
答案 0 :(得分:2)
您可以转换为float并验证它,而不是使用正则表达式。
var s = "0.999";
var n = Number.parseFloat(s);
if (n >= 0 && n <= 0.999) // 3 decimal positions only? s.length <= 4
{
// valid
}
答案 1 :(得分:0)
正则表达式是
var regex_cell = /0(\.[0-9]{1,3})?/
答案 2 :(得分:0)
var regex_cell = /0?(\.[0-9]{1,3})?/
0是可选的。仍然,0会失败。空白会失败。最好的方法是使用浮点数进行评估(使用'Number.parseFloat')。这对正则表达式来说不是一个好工作