如何匹配android中国际号码的正则表达式

时间:2012-02-04 07:03:18

标签: android regex

我的活动中有一个EditText,我从用户那里获取一个电话号码。现在,用户提供了一个号码活动,根据xml规则,我必须判断应用程序是否路由了电话号码。

2 个答案:

答案 0 :(得分:1)

这更像是一个java问题,你需要知道如何构建正则表达式。所以我假设您知道如何获取编辑文本的值。假设您已将电话号码加载到String phoneNumber。那么现在如何检查正则表达式:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

....
Pattern pattern = Pattern.compile("\+0[8-9][0-9]{2}-[0-9]{2}-[0-9]{3}");
Matcher matcher = pattern.matcher(phoneNumber);
if (matcher.matches()) {
  // The phone number matches the template given. do the routing.
}

在我举例说明我正在搜索以+开头的电话号码(注意+是正则表达式的特殊字符,因此我需要将其转义,同样适用于$.^),然后我期望零,8或9,然后正好2位数,短划线2位数和3位数。仅当matcher.matches()完全符合所描述的格式时,if phoneNumber才会返回true。希望这将简要介绍java的正则表达式。

答案 1 :(得分:0)

ITU: National Numbering Plans可以帮助您解决更难的问题。

你的问题很糟糕,以至于我的任何一个链接,Boris的以正则表达式为中心的答案,或者只关注Android的GUI的答案都可能是你真正想要的。请记住以后的问题。