【问题标题】:Check input for 4 numbers and 2 letters with jQuery使用 jQuery 检查输入的 4 个数字和 2 个字母
【发布时间】:2013-10-07 10:06:03
【问题描述】:

我有一个 <input>maxlength="6" 的文本,但我想检查前 4 个字符是否为数字,后 2 个字符是否为字母。

我有这个代码:

$("input[id='post']").keyup(function count() {
   //what goes here?
});

但我真的不知道如何继续下去。

【问题讨论】:

  • 试试keypress 代替keyup
  • 定义“数字”,您是否只期望拉丁字母?

标签: javascript jquery html regex validation


【解决方案1】:

您可以使用 RegEx 来执行此操作

$("input[id='post']").keyup(function count() {
    var input = this.value;
    var regex = new RegExp(/^[0-9]{4}[a-z]{2}$/i);
    console.log(regex.test(input));
});

[0-9]{4} - 检查 0-9 之间的四位数字。

[a-z]{2} - 检查 a-z 之间的两个字母。末尾的i 标志使检查不区分大小写。

【讨论】:

    【解决方案2】:

    你可以使用正则表达式:

    https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions

    类似:

    $("input[id='post']").keyup(function count() {
        var valid = /^\d{4}[a-zA-Z]{2}$/.test(this.value);
    });
    

    如果输入符合您的条件,valid 将是 true,否则 false

    【讨论】:

      【解决方案3】:

      这会将Valid 记录到控制台,如果它匹配所需的模式:

      $('#post').keyup(function() {
          if (/^\d{4}[a-zA-Z]{2}$/.test(this.value)) {
               console.log("Valid");
          }
      });
      

      【讨论】:

        【解决方案4】:

        您可以使用像这样的正则表达式^[0-9]{4}[a-z]{2}$ 并创建一个key up/down 函数来使用它

        查看此链接以测试使用情况

        Demo Testing and regex explained

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多