我的活动中有一个EditText,我从用户那里获取一个电话号码。现在,用户提供了一个号码活动,根据xml规则,我必须判断应用程序是否路由了电话号码。
答案 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的答案都可能是你真正想要的。请记住以后的问题。