【问题标题】:inputmask dynamic mask change on last digitinputmask 在最后一位上动态掩码变化
【发布时间】:2015-08-18 20:38:36
【问题描述】:

我想使用Jquery.Inputmask 来屏蔽电话号码输入,我按如下方式进行操作:

@Html.TextBoxFor(m => m.PhoneNumber, new {@class = "form-control mask-phone"})

并在我的 JS 中初始化它:

$(".mask-phone").inputmask({
    mask: "(99)9{4,5}-9999}",
    greedy: false
});

而且效果很好,但是动态输入是在第六位数字之后触发的,我必须手动将插入符号放在连字符之后。有没有办法只在输入最后一个数字后触发掩码中的动态?

我不确定我是否说清楚了。简而言之,我想要一个来自:

(99)9999-9999

到:

(99)99999-9999

在键入第六个数字后无需拖动插入符号。

【问题讨论】:

    标签: javascript jquery jquery-inputmask


    【解决方案1】:

    4 年后:此案例的解决方案现在位于输入掩码文档中,位于“keepStatic”选项下。所以在这种情况下,你可以这样做:

    $(".mask-phone").inputmask({
        mask: ["(99)9{4}-9999", "(99)9{5}-9999"],
        keepStatic: true
    });
    

    【讨论】:

      【解决方案2】:

      这是我最终使用的,效果很好

      $(".mask-telefone").on("keydown change", function() {
          if ($(this).val().replace(/[_\-()]/g,"").length >= 10){
              $(this).inputmask("(99)99999-9999");
      
          else {
              $(this).inputmask("(99)9999-9999");
          }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-28
        • 1970-01-01
        • 1970-01-01
        • 2014-10-30
        • 2022-06-29
        相关资源
        最近更新 更多