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中看到格式生效,那么这是怎么可能的呢?