jQuery掩码在最后一个数字之前附加问号

jQuery掩码在最后一个数字之前附加问号,jquery,mask,Jquery,Mask,我正在尝试在电话输入中应用掩码。我的jQuery版本是1.11,我使用的是屏蔽输入Js,代码如下 尽管如此,面具还是在最后一个数字前添加了一个问号。这可能是什么原因造成的 $.mask.definitions['~'] = "[+-]"; $("#id_phone").focusout(function () { var phone, element; element = $(this); element.unmas

我正在尝试在电话输入中应用掩码。我的jQuery版本是1.11,我使用的是屏蔽输入Js,代码如下

尽管如此,面具还是在最后一个数字前添加了一个问号。这可能是什么原因造成的

  $.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");
    }
  });
这就是结果


你能展示你的JS和html吗? 我用igorescobar/jQuery掩码插件制作了一个手机掩码,也许它会帮助你:

$(函数(){
$(“#id_phone”)。打开(“更改”,函数(){
var phoneLength=0;
phoneLength=$(this.val().replace(/[^0-9]/g,”).length;
console.log(phoneLength);
如果(电话长度>10){
$(此).mask('(00)00000-0000');
}否则{
$(此).mask('(00)0000-00000');
}
});
});


您的遮罩图案中有一个问号。。。你期望会发生什么?问号不是让最后一个数字成为可选的吗?文档中有这样的部分吗?:)