验证搜索框

时间:2014-06-25 06:28:45

标签: javascript html

我的搜索框需要验证空间和%。不应该允许下面提到的字母。

< > ( ) ' " / \  * ; : = { } `(backtick) % + ^ ! - \x00-\x20

我尝试使用JS代码,请参阅代码: -

  <script type="text/javascript">
    var specialKeys = new Array();
    specialKeys.push(8); //Backspace
    specialKeys.push(9); //Tab
    specialKeys.push(46); //Delete
    specialKeys.push(36); //Home
    specialKeys.push(35); //End
    specialKeys.push(37); //Left
    specialKeys.push(39); //Right
    function IsAlphaNumeric(e) {
        var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
        var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
        document.getElementById("error").style.display = ret ? "none" : "inline";
        return ret;
    }
</script>

让我知道在上述代码中需要修改或添加的内容。

2 个答案:

答案 0 :(得分:0)

您可以使用Java Script Regular Expression来验证输入,以下代码将执行您想要的操作

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

这是一个有用的js小提琴示例

Validation Js Fiddle

答案 1 :(得分:0)

试试这个例子:

<强>脚本

$(function(){
    $("input.rejectSpecial").on('input', function(){
        this.value = this.value.replace(/(\>|\<|\(|\)|\"|\'|\\|\/|\*|;|\:|\=|\{|\}|`|%|\+|\^|\!|\-)/g, '');
    });
})

<强> HTML

<input type="text" placeholder="special letters not allowed" size="30" class="rejectSpecial"/>
<input type="text" placeholder="does nothing" size="30"/>
<input type="text" placeholder="special letters not allowed" size="30" class="rejectSpecial"/>