9

我有一个输入字段,我想将其限制为仅限字母数字(AZ、az、0-9)字符,最小字段长度为 5,最大长度最多为 15 个字符。

有谁知道我如何使用 jQuery 做到这一点?

我正在尝试使用 digitalBush 的 jQuery 输入掩码 - http://digitalbush.com/projects/masked-input-plugin/

问题是除非我输入 15 个字符,否则该字段会变为空白。如果我在输入字段中输入“012345678912345”(15 个字符),那么该值将被存储并且没问题。

但是,如果我输入“12345”作为用户名,当该输入框失去焦点时,它的值会变回空白。我可以在修复此问题的“定义”或选项中更改某些内容吗?

非常感谢您的帮助 :)

蒂姆

4

2 回答 2

26

这样做是这样的:“*”是字母数字,“?”之后的任何内容 是可选的。

jQuery(function($){
   $("#elem").mask("*****?**********");
});
于 2010-03-19T18:26:04.593 回答
1

另外,如果您想根据字符长度更改掩码,就像我一样。找到了这个好方法:

var arr = ['HomePhone',
    'CellPhone',
    'EmergencyPhone'
    ];
  for (var i in arr)
  {
    $('input[name='+arr[i]+']').mask("999-999-9999?9")
        .keydown(function () {
          var $elem = $(this);
          var a = this.value.replace(/\D/g, "").length;
          setTimeout(function () {
            var n = $elem.val().replace(/\D/g, "").length;
            if (n !== a && (n === 10 || n === 11)) {
              var mask = (n === 11 ? "9999-999-9999" : "999-999-9999?9");
              $elem.mask(mask);
            }
          }, 1);
        });
  }
于 2015-09-25T10:39:52.180 回答