jQuery输入掩码长度

时间:2010-03-19 18:21:24

标签: jquery input mask

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

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

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

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

但如果我输入“12345”作为用户名,当该输入框失去焦点时,其值将变为空白。是否有某些东西可以在“定义”或某些选项中修改,以解决这个问题?

非常感谢你的帮助:)。

2 个答案:

答案 0 :(得分:25)

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

jQuery(function($){
   $("#elem").mask("*****?**********");
});

答案 1 :(得分: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);
        });
  }