如何防止文本框中选中的特殊字符?

时间:2014-07-14 07:27:57

标签: jquery

如何防止输入框中的特殊字符?

特别是我不想使用这个特殊字符(<>!$%^ ?? / {} [])

我已经使用了这个示例代码....它的工作完美

$('input[type=text],input[type=password],input[type=textarea]').bind('keypress', function   (e)  {        
        var keyCode = e.which;
        var ret = ((keyCode == 46) ||
                   (keyCode == 35) || 
                   (keyCode >= 48 && keyCode <= 59) || 
                   (keyCode >= 64 && keyCode <= 90) || 
                   (keyCode >= 97 && keyCode <= 122));  
        return ret;
});

我想在按下键时检查字符(&lt;&gt;!$%^ ?? / {} [])

3 个答案:

答案 0 :(得分:3)

$('input').bind('keypress', function (event) {
    var regex = new RegExp("^[a-zA-Z0-9]+$");
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
    if (!regex.test(key)) {
       event.preventDefault();
       return false;
    }
});

答案 1 :(得分:-1)

感谢您的帮助,

我用这种方式解决了这个问题...

$('input[type="text"],input[type="password"],input[type="textarea"]').bind('keypress', function (event) {        
var regex = new RegExp("^[>/[/~/{/}/!/&/$/%/^/(/`/)/+/=/?/<]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (regex.test(key)) {
   event.preventDefault();
   return false;
}

欢呼起来

答案 2 :(得分:-2)

的jquery 让你的文本框

<input type="text" id="DivisionName" />

$('input[type=text],input[type=password],input[type=textarea]').bind('keypress', function(e) {
    console.log( e.which );
    if($('#DivisionName').val().length == 0){
        var k = e.which;
        var ok = k >= 65 && k <= 90 || // A-Z
            k >= 97 && k <= 122 || // a-z
            k >= 48 && k <= 57; // 0-9

        if (!ok){
            e.preventDefault();
        }
    }
}); 

DEMO