2017-08-04 3 views
0

電話入力にマスクを適用しようとしています。私のjQueryバージョンは1.11で、以下のコードでMasked Input Jsを使用しています。jQueryマスクで最後の数字の前に疑問符が追加されます

それにもかかわらず、マスクは最後の数字の前に疑問符を追加し続けます。これを引き起こす原因は何ですか?

$.mask.definitions['~'] = "[+-]"; 

    $("#id_phone").focusout(function() { 
    var phone, element; 
    element = $(this); 
    element.unmask(); 
    phone = element.val().replace(/\D/g, ''); 
    if (phone.length > 10) { 
     element.mask("(99) 99999-999?9"); 
    } else { 
     element.mask("(99) 9999-9999?9"); 
    } 
    }); 

これは

enter image description here

+0

疑問符があなたのマスクパターンです。 ...何が起こると思いますか? – Tomalak

+0

疑問符は最後の番号を省略可能にしますか? – EGS

+0

ドキュメントにそのようなセクションがありますか? :) – Tomalak

答えて

0

結果であり、あなたはあなたのJSが含まれて、HTML示しすることはできますか? は、私は多分それはあなたを助ける、igorescobar/jQueryのマスク・プラグインを使用して電話マスクをした:

https://jsfiddle.net/zqrumjbx/

$(function(){ 
    $("#id_phone").on("change", function(){ 
     var phoneLength = 0; 
     phoneLength = $(this).val().replace(/[^0-9]/g,"").length; 
     console.log(phoneLength); 
    if(phoneLength > 10){ 
     $(this).mask('(00) 00000-0000'); 
    }else{ 
     $(this).mask('(00) 0000-00000'); 
    } 
});}); 
関連する問題