使用javascript进行十进制验证
如何使用javascript进行十进制验证 有一个文本框,只接受24.00或24或任何小于24.00的值 如果输入23.99,文本也必须允许 谁能帮我一下吗 我试过这样做使用javascript进行十进制验证,javascript,decimal,Javascript,Decimal,如何使用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})?$/)) {
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;
}
}
谢谢你可以试试这个:
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);
这可以通过简单的正则表达式来完成
val = "2.13"
if (!val.match(/^(\d{0,2})(\.\d{2})$/)) {
alert("sorry this is wrong");
} else {
alert("yeah this is true");
}
查看更多方法。谢谢您的回答,我将验证的文本框是动态创建的,这意味着文本可能存在,也可能不存在。因此,在找到文本框后,只需进行验证,并在值不匹配时提醒用户。@Anto:-因此,您必须在该函数上方选中文本框的存在。Rest函数将是相同的,它将工作!:)你在吗?我对上面的代码有问题。@Anto:-有什么问题?如果文本框中输入的文本是2:,我认为正则表达式将不起作用。)