阻止字符在表单字段中输入

时间:2017-09-29 17:45:46

标签: javascript html

我想限制所有符号在html中输入我的表单字段。

这是我的代码......

<script>
    $('#location').keypress(function (e) {
        var regex = new RegExp("[^a-zA-Z0-9]+$");
        var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
        if (regex.test(str)) {
            return true;
        }

        e.preventDefault();
        return false;
    });
</script>

但该代码不允许任何空格甚至使用删除键。我希望一切顺利,但不要任何符号(即$#@%^!&#39;&#34; [] {}()等......)

2 个答案:

答案 0 :(得分:0)

您可以删除keyup上的无效字符。

$('#location').keyup(function(e){
    $(this).val($(this).val().replace(/[^a-zA-Z0-9\s]/g, '');
});

否则,您必须指定要允许的键的keyCodehttp://www.asciitable.com/

答案 1 :(得分:0)

只需获取字母和数字的范围。

48 - 57(0-9)

65 - 90(A-Z)

97 - 122(a-z)

<script>
    $('#location').bind('keypress', function (e) {
        if (e.which < 48 ||
           (e.which > 57 && e.which < 65) ||
           (e.which > 90 && e.which < 97) ||
           e.which > 122) {
           e.preventDefault();
        }
    });
</script>