inputmask动态掩码在最后一位数上发生变化

时间:2015-08-18 20:38:37

标签: javascript jquery jquery-inputmask

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

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

2 个答案:

答案 0 :(得分:1)

4年后:此情况的解决方案现在在输入掩码文档的“ keepStatic”选项下。因此,在这种情况下,您可以执行以下操作:

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

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