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
});

それはうまく機能しますが、動的入力は6桁目の直後にトリガーされ、ハイフンの後にキャレットを手動で配置する必要があります. 最後の数字が入力された後にのみ、マスクのダイナミクスをトリガーする方法はありますか?

私が自分自身を明確にしたかどうかはわかりません。簡単に言えば、次のようなマスクが必要です。

(99)9999-9999

に:

(99)99999-9999

6 桁目を入力した後にキャレットをドラッグする必要はありません。

4

2 に答える 2

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 に答える