Javascript 国际电话输入号码格式化方法?

Javascript 国际电话输入号码格式化方法?,javascript,jquery,libphonenumber,intl-tel-input,Javascript,Jquery,Libphonenumber,Intl Tel Input,据我所知,他们已经删除了最新国际电话输入库中的自动格式化选项。该选项根据用户选择的国家/地区对号码进行了相应的格式化。但是根据表单,我仍然可以使用util.js和format number函数来实现这个选项(),我尝试了很多次,但是没有能够应用这个选项。例如,对于美国号码,我将如何将号码格式化为此ex:(201)-255-6655。下面是我的代码。正如我所见,这似乎是最好的js库的国际数字 $(文档).ready(函数(){ $(“#联系方式”) .find('[name=“phoneNumb

据我所知,他们已经删除了最新国际电话输入库中的自动格式化选项。该选项根据用户选择的国家/地区对号码进行了相应的格式化。但是根据表单,我仍然可以使用util.js和format number函数来实现这个选项(),我尝试了很多次,但是没有能够应用这个选项。例如,对于美国号码,我将如何将号码格式化为此ex:(201)-255-6655。下面是我的代码。正如我所见,这似乎是最好的js库的国际数字

$(文档).ready(函数(){
$(“#联系方式”)
.find('[name=“phoneNumber”]'))
.intlTelInput({
utilsScript:“https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/12.1.5/js/utils.js",
autoPlaceholder:没错,
首字母“美国”,
geoIpLookup:“自动”,
});
});

电话
电话号码

所以我基本上添加了一个函数,当用户不关注输入时运行它。js已经为我们提供了格式(intlTelInputUtils.formatNumber)。我们只需将号码和国家代码/首字母传递给它。检查下面的代码

功能测试(){
var number=$('input[name=“phoneNumber”]).val();
var classf=$(“.selected flag>div”).attr(“class”);
var标志=classf.slice(-2);
控制台日志(“检查编号:”,编号);
日志(“检查类别F:”,类别F);
日志(“检查标志:”,标志);
var formattedNumber=intlTelInputUtils.formatNumber(数字、标志、intlTelInputUtils.numberFormat.INTERNATIONAL);
$('input[name=“phoneNumber”]').val(formattedNumber);
}
函数phoneFormatter(){
$('.phone')。在('input',function()上{
var number=$(this.val().replace(/[^\d]/g'))
如果(number.length==7){
编号=编号。替换(/(\d{3})(\d{4})/,“$1-$2”);
//美国和加拿大格式
}else if(number.length==10){
编号=编号。替换(/(\d{3})(\d{3})(\d{4})/,“($1)$2-$3”);
}
//法国格式
else if(number.length==11){
number=number.replace(/(\d{2})(\d{1})(\d{2})(\d{2})(\d{2})/,“+1$2$3$4$5$6”);
}
//德语格式化
else if(number.length==13){
number=number.replace(/(\d{2})(\d{3})(\d{8})/,“+1$2$3”);
}
$(此).val(数字)
});
};
$(电话格式化程序)

电话号码


您的代码片段对我来说似乎非常有用。有什么不好用的?@obsidiange嘿,我在这个问题上添加了一张图片,我想在用户模糊时格式化这个数字input@jsPlayer您必须在哪个位置下载这两个文件
/intlmask.js
和./intlmask.cs?如何使其适用于所有国家/地区格式?您的示例不再适用