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

时间:2013-05-25 11:00:36

标签: javascript jquery libphonenumber

您好,我的电话号码是E164 format+212640588740,我想将其转换为international format+212 640-588740。 有这个库http://code.google.com/p/libphonenumber/很好地完成了这个转换,但它需要一个我无法提供的电话号码和国家代码,因为我正在读取手机以便从DB转换。

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

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

欢迎任何想法,谢谢你。

1 个答案:

答案 0 :(得分:2)

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

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

  

defaultRegion - ...如果保证数字以“+”开头,后跟国家/地区调用代码,则可以提供“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);

有关用法,请参阅文档:

com.google.i18n.phonenumbers.PhoneNumberUtil.parse() com.google.i18n.phonenumbers.PhoneNumberUtil.format()