我正在尝试实现一个javacript函数,该函数不允许用户输入浮点数(数字)以外的任何内容
这是我的方法,但我不知道如何改进它以便允许负数数字(允许' - '键)也可以在IE上工作。
function digits_only(evt, form) {
var evt = evt || window.event,
targ = evt.target || evt.srcElement,
charCode = evt.which || evt.keyCode,
keyChar = String.fromCharCode(charCode),
isValid = true;
if (charCode > 13) {
isValid = /[0-9.]/.test(keyChar);
//if a dolt is already in input
if (keyChar === '.' && /\./.test(targ.value)) {
isValid = false;
}
}
return isValid;
}
答案 0 :(得分:3)
我认为你正在寻找所谓的“输入掩码”。它们比仅允许数字更强大。但你可以勉强使用它们。 Google“javascript输入掩码”或查看this jQuery Plugin。
编辑: 好像链接的插件只支持固定长度的掩码,但这个术语可能是一个很好的起点...
答案 1 :(得分:1)
这是在ASP.NET Web应用程序上吗?您可以使用AjaxControlToolkits MaskEditExtender。
答案 2 :(得分:0)
我在这里提出类似的问题:
restrict user input using javascript
但没有人给出问题的确切答案,所以让我们等到WebForms 2.0发布