使用JavaScript验证用户输入

使用JavaScript验证用户输入,javascript,validation,Javascript,Validation,我需要这样做,用户只能在我的输入框中键入a-z0-9。我怎样才能让用户根本无法键入其他字符?如果这是不可能的,我怎么能简单地用regex检查输入呢 谢谢 如果您使用jQuery,那么有一种方法可以完全满足您的需要。除此之外,您可以使用onkeyup/onkeyup调用函数,该函数将根据regex模式验证输入。您可以使用onKeyDown事件。如果从事件处理程序返回false,则不会触发按键事件,并且该键将被“吃掉” 以下是Sun的文档:另一个值得注意的解决方案是用于jquery的字母数字插件:

我需要这样做,用户只能在我的输入框中键入a-z0-9。我怎样才能让用户根本无法键入其他字符?如果这是不可能的,我怎么能简单地用regex检查输入呢


谢谢

如果您使用jQuery,那么有一种方法可以完全满足您的需要。除此之外,您可以使用onkeyup/onkeyup调用函数,该函数将根据regex模式验证输入。

您可以使用onKeyDown事件。如果从事件处理程序返回false,则不会触发按键事件,并且该键将被“吃掉”


以下是Sun的文档:

另一个值得注意的解决方案是用于jquery的字母数字插件:


简单如
$('#textField')。字母数字()

确保您也在服务器上执行验证(假设有一个服务器部分),以防某些用户关闭javascript。

以下是一个经过一些修改的解决方案:


这不是我需要的,我需要防止用户能够键入不是a-z0-9的内容,他们甚至不应该能够在输入框中输入。您是在使用jQuery(或其他JavaScript库),还是在寻找纯JavaScript?最好是纯JS,但如果需要,我可以使用另一个。右键单击->粘贴如何?
window.onload = function () {
    document.forms.myForm.myField.onkeypress = keyTest;
}

function keyTest(e) 
{
    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    reg = /[a-z0-9]/i;

    if (key != 8 && key != 9) return reg.test(keychar);
}