jQuery 输入掩码长度

问题描述 投票:0回答:3

我有一个输入字段,我想将其限制为仅包含字母数字(A-Z、a-z、0-9)字符,最小字段长度为 5,最大长度总计为 15 个字符。

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

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

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

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

非常感谢您的帮助:)

蒂姆

jquery input mask
3个回答
26
投票

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

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

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);
        });
  }

0
投票

我过去也遇到过同样的问题。我找到了其他库的解决方案:https://github.com/eduardovillao/masky-js

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.