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

时间:2017-08-04 16:19:51

标签: jquery mask

我正在尝试在手机输入中应用遮罩。我的jQuery版本是1.11,我使用Masked Input 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");
    }
  });

这是结果

enter image description here

1 个答案:

答案 0 :(得分:1)

你可以向你展示JS包含和HTML吗? 我使用igorescobar / jQuery-Mask-Plugin做了一个手机面膜,也许它可以帮到你:



$(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');
    }
  });
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.min.js"></script>


<div class="control-group">
  <input type="text" name="phone" id="id_phone" value="" />
</div>
&#13;
&#13;
&#13;