当前位置: 首页 > 知识库问答 >
问题:

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

萧亦
2023-03-14

你好,我有一个电话号码,是E164格式的212640588740,我想把它转换成国际格式的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个答案

钮高朗
2023-03-14

如果所有输入都是E164格式的,则可以使用com.google.i18n。电话号码。鲁蒂尔。parse()方法将字符串转换为PhoneNumber实例,您可以使用com.google.i18n。电话号码。鲁蒂尔。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);

使用方法见文档:

通用域名格式。谷歌。i18n。电话号码。鲁蒂尔。解析()com.google.i18n。电话号码。鲁蒂尔。格式()

 类似资料:
  • 在我的iOS应用程序中,我必须转换一个电话号码(在联系人),并将其转换为国际格式(自动发送短信与extern库)。我看到了libPhoneNumber,但问题是我们必须输入国家代码,应用程序必须在所有(几乎)国家工作,所以我不知道用户的国家是什么。 以下是图书馆的工作原理:

  • 我正在使用google库将国际电话号码转换为国家号码。 的一个示例是919744012345 我期望的是“9744012345”(请参阅印度的移动电话号码),但我得到的是带前导零的“09744012345”。 如何正确转换国际电话号码?

  • 在Github上libphonenumber提供的文档中,有一个演示,它将提供的任何数字转换为国际格式,例如转换为 我想在C#中使用相同的功能。 在libphone的文档中,需要解析号码并提供国家/地区。但是,演示在不提供地区/国家信息的情况下工作。有人能告诉我是怎么做的吗?

  • 我看到了一些与我要求的相似的问题,但似乎没有什么符合要求的。 我处于需要处理通话记录并使用电话号码确定国家的位置。拨打的号码可以是任何国家,例如: 44 7899455120-英国 34 965791845-西班牙 355 788415235-阿尔巴尼亚 显然,如果所有的呼叫代码都是两位数的话,这个世界将是美好的,但事实并非如此。目前,我有一个数据库,里面有国家及其相关代码,为了匹配,我需要有效地

  • 我需要在UITextField中显示电话号码格式作为占位符。我怎么能那样做? 对于国家选择,我使用下面提到的库,它提供了针对用户选择的国家的国旗和国家代码。 https://github.com/NikKovIos/NKVPhonePicker 选择国家后,我需要显示所选国家的电话号码格式,提交该电话号码时,我必须验证电话号码。 我还发现,第三方(PhoneNumberKit)的灵感来源于谷歌的l

  • 问题内容: 使用Java将电话号码转换为国际格式(E.164)的最佳方法是什么? 给定一个“电话号码”和一个国家/地区ID(例如ISO国家/地区代码),我想将其转换为标准的E.164国际格式电话号码。 我确信我可以很容易地手动完成此操作-但我不确定它在所有情况下均能正常工作。 您将建议使用哪个Java框架/库/实用程序来完成此任务? 附言:“电话号码”可以是一般公众可以识别的任何东西,例如 最后一