首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android PhoneNumberUtils isWellFormedSmsAddress

Android PhoneNumberUtils isWellFormedSmsAddress
EN

Stack Overflow用户
提问于 2016-02-06 23:06:29
回答 1查看 394关注 0票数 2

什么是格式良好的短信地址?

我在我的代码中这样做:

代码语言:javascript
复制
if (StringUtils.isNotBlank(mPhone) && !PhoneNumberUtils.isWellFormedSmsAddress(mPhone)) {
    AlertDialog alertDialog = new AlertDialog.Builder(this).create();
    alertDialog.setTitle(getString(R.string.cellphone_error));
    alertDialog.setMessage(getString(R.string.cellphone_error_hint));
    alertDialog.show();
    return;
}

但是,我似乎无法输入任何数字来激活这段代码。出于某种原因,一切似乎都符合一个格式良好的短消息地址。这个错误检查是如何工作的?

我应该用isGlobalPhoneNumber代替吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-06 23:46:09

在查看了这两种方法中的任何一种之后,您可能希望使用自己的RegEx来验证一个数字,比如那些使用here的方法,这取决于您的需求。

原因是PhoneNumberUtils.isWellFormedSmsAddress(...)使用String提取在String中传递的网络部分,并基本上检查该网络部分是否有可拨号的数字。

问题是PhoneNumberUtils.extractNetworkPortion(...)删除了大多数非数字,因此+18fvg12变成了+1812,并且仍然通过。

PhoneNumberUtils.isGlobalPhoneNumber (.)看起来更有用,并确保电话号码与RegEx [\+]?[0-9.-]+匹配。

但是,这仍然是不可取的,因为+-----598--仍然是一个例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35247596

复制
相关文章

相似问题

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