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

将国际电话号码转换为国家号码

尉迟国发
2023-03-14

我正在使用libphonenumbergoogle库将国际电话号码转换为国家号码。

var phoneNumberUtil = PhoneNumberUtil.getInstance();
var phoneNumber = phoneNumberUtil.parse(internationalPhoneNumber, null);
var formattedPhoneNumber = phoneNumberUtil.format(phoneNumber, NATIONAL).replaceAll("\\s", "");

国际电话号码的一个示例是919744012345

formattedPhoneNumber我期望的是“9744012345”(请参阅印度的移动电话号码),但我得到的是带前导零的“09744012345”。

如何正确转换国际电话号码?

共有2个答案

暴向笛
2023-03-14

在许多国家,你应该在电话号码前写上0,我认为图书馆会给你在给定国家使用的正确格式。

如果您选择删除所有电话号码的前0,则只需将前0替换为空白“”:

var phoneNumberUtil = PhoneNumberUtil.getInstance();
var phoneNumber = phoneNumberUtil.parse(internationalPhoneNumber, null);
var formattedPhoneNumber = phoneNumberUtil.format(phoneNumber, NATIONAL).replaceAll("\\s", "");
if(formattedPhoneNumber.startsWith("0"))
         formattedPhoneNumber=formattedPhoneNumber.substring(1);
冯敏达
2023-03-14

IMHO您必须设置正确的数字格式。查看phonenumberrutil。电话号码格式:国际和国家格式与ITU-T建议E123中的定义一致。

详细信息在类PhoneNumberUtil的Javadoc中

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

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

  • 你好,我有一个电话号码,是:,我想把它转换成:。有一个图书馆http://code.google.com/p/libphonenumber/这可以很好地进行转换,但它需要一个电话号码和一个我无法提供的国家/地区代码,因为我正在读取手机以从DB转换。 基本上,我想要一个脚本或库,将E164作为参数,并将其转换为国际标准格式,如下所示: 欢迎提出任何意见,提前谢谢。

  • 我的要求是找出邮件收件人的号码是国际号码还是国家号码。 是否有任何Android API或任何第三方库可用于实现相同的。 我想使用libphonenumber谷歌API[android/externals/libphonenumber],但不知道如何检查国际号码和非国际号码。

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

  • 我有这样一个字符串:33123456789(法语电话号码)。我想在不知道国家的情况下提取国家代码(33)。例如,如果我有另一部来自另一个国家的手机,它应该可以工作。我使用谷歌图书馆https://code.google.com/p/libphonenumber/. 如果我知道国家,那很酷,我可以找到国家代码: 但是我找不到一种在不了解国家的情况下解析字符串的方法。