仅允许输入数字

时间:2009-04-07 05:22:04

标签: javascript parsing

我正在尝试实现一个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;
}

3 个答案:

答案 0 :(得分:3)

我认为你正在寻找所谓的“输入掩码”。它们比仅允许数字更强大。但你可以勉强使用它们。 Google“javascript输入掩码”或查看this jQuery Plugin

编辑: 好像链接的插件只支持固定长度的掩码,但这个术语可能是一个很好的起点...

答案 1 :(得分:1)

这是在ASP.NET Web应用程序上吗?您可以使用AjaxControlToolkits MaskEditExtender。

答案 2 :(得分:0)

我在这里提出类似的问题:
restrict user input using javascript

但没有人给出问题的确切答案,所以让我们等到WebForms 2.0发布