【问题标题】:Formatting phone number to match格式化电话号码以匹配
【发布时间】:2015-09-03 20:40:14
【问题描述】:

我是安卓开发新手。我正在尝试制作一个短信应用程序。除了电话号码格式外,一切正常。例如,我住在菲律宾,我从同一个号码收到了 2 条不同的短信。

第一条短信地址:+639123456789

第二条短信地址:09123456789

+639123456789 必须等于 09123456789

或者瑞士号码+41446681800必须等于0446681800

现在我该如何格式化它们将匹配的这些地址中的任何一个。字符串操作将起作用,但仅限于菲律宾。我找到了这个 libphonenumber,但我不知道如何在我当前的项目中使用它。对不起,我是菜鸟。任何帮助将不胜感激。

【问题讨论】:

标签: android android-activity


【解决方案1】:

Here 你可以找到libphonenumber 库的示例。

使用此库,您可以将这些数字转换为国际格式,在匹配数字之后,如果需要,您也可以获取国家代码。

internationalFormatMobileNumber = phoneUtil.format(yourNumber, PhoneNumberFormat.INTERNATIONAL);

【讨论】:

    【解决方案2】:

    如果你知道你想为哪个国家做这件事,你可以使用谷歌的开源库https://github.com/googlei18n/libphonenumber。以下是如何格式化它:


                 String numberStr = "8885551234"
                PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
                try {
                  PhoneNumber numberProto = phoneUtil.parse(numberStr, "US");
                  //Since you know the country you can format it as follows:
                  System.out.println(phoneUtil.format(numberProto, PhoneNumberFormat.NATIONAL));
                } catch (NumberParseException e) {
                  System.err.println("NumberParseException was thrown: " + e.toString());
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 2019-06-07
      相关资源
      最近更新 更多