Onkeypress,javascript没有验证特殊字符

时间:2013-05-08 21:05:19

标签: javascript onkeypress

Javascript函数避免特殊字符。它与alpha& numbers.only问题是,当我需要包括 - ,。 (k> = 188&& k< = 190) - 这是行不通的。我做错了什么?

    var k;
    document.all ? k = e.keyCode : k = e.which;
    return ((k > 64 && k < 91) || (k > 96 && k < 123) || (k >= 188 && k <= 190)|| k == 8 || k == 32 || (k >= 48 && k <= 57));

1 个答案:

答案 0 :(得分:1)

这是我的最新代码,它将支持所有浏览器。 function isAlphaNumeric(evtGet){

    var browser = navigator.appName;
    if (browser == "Microsoft Internet Explorer" || browser == "Mozilla Firefox") {
        var keyGet = evtGet.keyCode;
    } else {
        var keyGet = evtGet.which; //(window.Event) ? evtGet.which : evtGet.keyCode;
    }
    alert(keyGet);
        if ((keyGet > 47 && keyGet < 58) || (keyGet > 64 && keyGet < 91) || (keyGet > 96 && keyGet < 123) || (keyGet == 9) || (keyGet == 32) || (keyGet == 8) || (keyGet == 0) || (keyGet == 13)||(keyGet==110))
            return;
        else
            if (browser == "Microsoft Internet Explorer" || browser == "Mozilla Firefox")
            window.event.returnValue = null;
        else
            evtGet.preventDefault();
}

将上面的代码放在jsp的标题中

并从输入字段调用   onKeyPress =“return isAlphaNumeric(event,this.value);”&gt;

假设你想根据你的要求改变代码,有一个警告框,请运行代码,然后点击键盘,它将根据你的要求显示密码

示例 - 您想在字段中输入(。),它将显示点ID 47的键码,您可以写(keyGet==47)