Keypress验证不应该只允许字母表,但所有其他键应该工作

时间:2017-10-27 13:18:33

标签: javascript jquery javascript-events

验证 - 我只需要文本框中的数字空格和加号

$('#value').bind('keypress', function (e) {
    if ($('#value').val().length == 0) {
        if (e.which == 32) { //space bar
            e.preventDefault();
        }
        var valid = (e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122);
        if (!valid) {
            e.preventDefault();
        }
    } else {
        var valid = (e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122 || e.which == 32 || e.which == 95 || e.which == 8);
        if (!valid) {
            e.preventDefault();
        }
    }
});

1 个答案:

答案 0 :(得分:0)

我相信你正以错误的方式接近这一点。您正在寻找的术语是“验证”,并且有许多好的方法可以解决它。我建议你研究一下this StackOverflow post。正则表达式是可行的方法,但您也可以使用纯HTML5执行此操作,而无需涉及Javascript。查看thisthis