1

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

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

4

2 回答 2

1

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

$(".mask-phone").inputmask({
    mask: ["(99)9{4}-9999", "(99)9{5}-9999"],
    keepStatic: true
});
于 2020-05-08T14:55:02.507 回答
0

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

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

    else {
        $(this).inputmask("(99)9999-9999");
    }
});
于 2015-11-21T17:38:04.430 回答