2017-08-04 64 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'); 
    } 
});});