我想使用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

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

最佳答案

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

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

    else {
        $(this).inputmask("(99)9999-9999");
    }
});

关于javascript - inputmask动态掩码的最后一位数字更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32082174/

10-09 13:46