jQuery 掩码在最后一个数字前附加问号
jQuery mask appends question mark before last number
我正在尝试在 phone 输入中应用遮罩。我的 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");
}
});
这是结果
你能展示你的 JS includes 和 html 吗?
我用igorescobar/jQuery-Mask-Plugin制作了一个phone面具,也许对你有帮助:
$(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>
我正在尝试在 phone 输入中应用遮罩。我的 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");
}
});
这是结果
你能展示你的 JS includes 和 html 吗? 我用igorescobar/jQuery-Mask-Plugin制作了一个phone面具,也许对你有帮助:
$(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>