首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用PhoneNumberUtils格式化电话号码?

如何使用PhoneNumberUtils格式化电话号码?
EN

Stack Overflow用户
提问于 2011-05-24 15:03:15
回答 9查看 86.2K关注 0票数 62

如何使用PhoneNumberUtils格式化电话号码

例如:1234567890 (123) 456-7890

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-05-24 15:28:14

最基本的情况是:

代码语言:javascript
复制
String formattedNumber = PhoneNumberUtils.formatNumber(unformattedNumber);

这将根据号码来自的国家/地区的规则自动格式化号码。

您还可以使用以下命令设置可编辑文字的在位格式:

代码语言:javascript
复制
PhoneNumberUtils.formatNumber(Editable text, int defaultFormattingType);

有关更多选项,请查看PhoneNumberUtils

票数 84
EN

Stack Overflow用户

发布于 2016-01-04 13:53:00

我选择使用谷歌的版本(https://github.com/googlei18n/libphonenumber),因为这样min可以更低(我认为它在Android SDK中要到21岁才会出现)。

Use是这样的:

代码语言:javascript
复制
PhoneNumberUtil pnu = PhoneNumberUtil.getInstance();
Phonenumber.PhoneNumber pn = pnu.parse("1234567890", "US");
String pnE164 = pnu.format(pn, PhoneNumberUtil.PhoneNumberFormat.E164);

在Android Studio中,用户需要将以下代码添加到build.gradle中的依赖项中:

代码语言:javascript
复制
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    ...
    compile 'com.googlecode.libphonenumber:libphonenumber:7.2.2'
}
票数 28
EN

Stack Overflow用户

发布于 2016-11-15 09:08:25

formatNumber在棒棒糖上被弃用了,之后你需要添加语言环境作为额外的参数。

代码语言:javascript
复制
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  return PhoneNumberUtils.formatNumber(yourStringPhone,Locale.getDefault().getCountry());
} else {
//Deprecated method
  return PhoneNumberUtils.formatNumber(yourStringPhone); 
}
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6106859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档