如何使用javascript进行十进制验证?
有一个文本框,只能接受24.00或24或任何小于24.00的值
如果输入23.99,则文本也必须允许。
有人可以帮我解决这个问题吗?
我试过这种方式,
if (document.forms[0].hours!= undefined) {
var val = document.forms[0].hours.value ;
if (val .match(/^\d{0,6}(?:\.\d{0,2})?$/)) {
alert("Invalid" +'${payType5Code}'+" Hours. The hours entered can not have more than 2 decimal places,and should be in the range of 0 to 24 ");
submitted=false;
return false;
}
}
感谢
答案 0 :(得分:1)
你可以试试这个:
var foo = document.getElementById('foo');
foo.addEventListener('input', function (prev) {
return function (evt) {
if (!/^\d{0,6}(?:\.\d{0,2})?$/.test(this.value)) {
this.value = prev;
}
else {
prev = this.value;
}
};
}(foo.value), false);
答案 1 :(得分:1)
这可以通过简单的正则表达式来完成。
val = "2.13"
if (!val.match(/^(\d{0,2})(\.\d{2})$/)) {
alert("sorry this is wrong");
} else {
alert("yeah this is true");
}
检查here了解更多方法..