Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript将电话号码从E164转换为国际格式_Javascript_Jquery_Libphonenumber - Fatal编程技术网

Javascript将电话号码从E164转换为国际格式

Javascript将电话号码从E164转换为国际格式,javascript,jquery,libphonenumber,Javascript,Jquery,Libphonenumber,您好,我有一个电话号码是E164格式的:+212640588740,我想把它转换成国际格式的:+212 640-588740。 有一个库可以很好地进行这种转换,但它需要一个电话号码和一个我无法提供的国家/地区代码,因为我正在读取手机以从DB转换 基本上,我想要一个脚本或库,将E164作为参数,并将其转换为国际标准格式,如下所示: +212640588740 => +212 640-588740 +33336578668 => +33 3 36 57 86 68 +1787749141

您好,我有一个电话号码是
E164格式的
+212640588740
,我想把它转换成
国际格式的
+212 640-588740
。 有一个库可以很好地进行这种转换,但它需要一个电话号码和一个我无法提供的国家/地区代码,因为我正在读取手机以从DB转换

基本上,我想要一个脚本或库,将E164作为参数,并将其转换为国际标准格式,如下所示:

+212640588740 => +212 640-588740
+33336578668 => +33 3 36 57 86 68
+17877491410 => +1 787-749-1410

欢迎提出任何想法,提前谢谢。

如果您所有的输入都是E164格式的,您可以使用
com.google.i18n.phonenumbers.phonenumbertil.parse()
方法将字符串转换为
PhoneNumber
实例,然后您可以使用
com.google.i18n.phonenumbers.phonenumbertil.format()
将其转换为国际格式的字符串

您不需要事先知道国家代码(或解析它),请参阅
parse()
方法的params文档:

默认区域-。。。如果保证号码以“+”开头,后跟国家/地区呼叫代码,则可以提供“ZZ”或null

下面是一个简短的例子:

PhoneNumber number = com.google.i18n.phonenumbers.PhoneNumberUtil.parse("+12781112222", null);
String result = com.google.i18n.phonenumbers.PhoneNumberUtil.format(number, com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat.INTERNATIONAL);
有关用法,请参阅文档:


为什么要标记此jquery?您是否正在使用jquery而不介意使用jquery的解决方案?如果您不知道国家代码,如何将电话号码转换为国际格式?任何不使用国家/地区代码的解决方案都会给您带来一些问题,无论是早晚。基本上,您应该在DB中添加一个字段,为每个号码指定国家代码。您不能从电话号码中提取国家代码吗?您需要一个包含所有国家/地区代码的数据库,然后您获取与数据库中某个代码匹配的电话号码的第一个号码。例如,在这里您可以找到这样一个列表:您好,谢谢您的回答,但是如果不知道国家/地区代码,这是不可能的,那么如何处理此链接?只需键入电话号码:+212610478521,您将在live中看到格式生效,那么这是怎么可能的呢?