使用js禁用文本输入框中的数字输入

4

我需要做的是在表单的文本输入中不允许输入数字字符,但我需要使用JavaScript实现。以下是我的HTML代码:

<form id="formu">
<input type="text" id="num" />
</form>

以下是我的JS代码:

function numero(theEvent){

    var evento=theEvent||window.event;

        switch(evento.type){
            case 'keypress':
                if(document.getElementById("num").evento.keyCode>=48&&document.getElementById("num").evento.keyCode<=57){
                    return false;
                }
        }
    }

你在哪里调用了numero (theEvent) ? - Vicky Gonsalves
4个回答

9
您可以使用新的"pattern"属性HTML ,
<input type="text" id="num" pattern="[A-Za-z]" title="Only Alphabets">

3
function validateKeyStrokes(event) {
    var charCode = (event.which) ? event.which : event.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}


<form id="formu">
<input type="text" id="num"  onkeypress="return validateKeyStrokes(event)" />
</form>

试试这个


0

你也可以使用HTML5的新输入类型“number”:

<input type="number" name="num" id="num">

但是请小心使用,如果你想要支持旧版浏览器...

0
尝试使用 jQuery 和输入文本字段过滤插件

看这里


为什么要使用一个如此大的库来验证按键? - Vicky Gonsalves
在某些情况下,这可能确实有些过度。另一方面,jQuery通过许多常见任务使生活更轻松,这可能会证明使用它是合理的。我也考虑过keypress事件,但它无法处理粘贴。 - fan711

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接