我需要在按键事件上使用纯Javascript限制用户输入小数点后两位数字。请帮忙..
EX:123.45 ->正确 123.45.6 ->不正确
function checkDec(el) {
var ex = /^[0-9]+\.?[0-9]*$/;
if (ex.test(el.value) == false) {
el.value = el.value.substring(0, el.value.length - 1);
}
}
<asp:TextBox ID="txttest0" runat="server" onkeydown="checkDec(this);" ></asp:TextBox>
我尝试过这种方式,但需要在 Keypress 中使用它。 :(
最佳答案
也许您可以使用 parseFloat 更正该值:
<input onchange="this.value = parseFloat(this.value) || ''" type="text" />
我将其更改为 onchange,因为否则它会阻止您输入 .根本不。然而,这意味着当您模糊输入时它只会验证一次。
编辑
<小时/>就这样吗?
JS:
function validateFloatKeyPress(el, evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57)) {
return false;
}
if (charCode == 46 && el.value.indexOf(".") !== -1) {
return false;
}
return true;
}
HTML:
<input onkeypress="return validateFloatKeyPress(this, event)" type="text" />
关于javascript - 小数验证允许通过 Javascript 在按键事件上小数点后保留两位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13553444/