2015-08-18 2 views
1

Я хочу использовать Jquery.Inputmask, чтобы замаскировать ввод номера телефона и я донг это следующим образом: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

без необходимости перетащить каретку после ввода шестой цифры.

ответ

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"); 
    } 
}); 
Смежные вопросы