【问题标题】:Keypress validation which should not allow alphabet only but all other key should work按键验证不应仅允许字母,但所有其他键都应有效
【发布时间】:2018-04-09 02:47:29
【问题描述】:

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

$('#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();
        }
    }
});

【问题讨论】:

  • 如果您在console.log(charCode); 之前if 记录了什么空间?
  • 当问题与此插件无关时,请不要使用jquery-validate。已编辑。谢谢。
  • 在上面的代码中,我只想让空格键工作..数字和加号键工作,但空格键不工作

标签: javascript jquery jquery-events


【解决方案1】:

我相信您以错误的方式处理此问题。您正在寻找的术语是“验证”,并且有很多好方法可以解决它。我建议您查看this StackOverflow post。正则表达式是可行的方法,尽管您也可以使用纯 HTML5 来执行此操作,而无需涉及 Javascript。查看thisthis

【讨论】:

  • 我不想要特定的格式,但我需要一个不允许字母但其余所有键都可以工作的文本框
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-05
  • 1970-01-01
  • 2021-10-22
  • 2011-06-17
  • 1970-01-01
相关资源
最近更新 更多