2012-02-04 42 views
0

国际号码的正则表达式我有一个EditText在我的活动,我从用户的电话号码..现在用户提供了一个号码活动,并基于xml规则,我必须告诉应用程序是否路由手机数量与否。如何匹配android

+0

我在我的活动中有一个EditText,我从用户处取得电话号码。现在,用户在活动中提供了一个号码,并且基于xml规则,我必须告诉我的应用程序是否应该路由电话号码。 – 2012-02-04 07:04:28

+0

你不知道你可以编辑你最初的问题吗? – 2012-02-04 08:23:46

回答

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. 
} 

在日eexample我已经给我搜索以+开始的电话号码(注意:+是正则表达式特殊字符,因此我需要转义它同样适用于$,.,^),那么我期望一个零,8或9,然后恰好是2位数字,一个短划线2个多位数字和3个多位数字。只有当phoneNumber完全符合描述的格式时,if matcher.matches()才会返回true。希望这会给你对java的正则表达式的简单介绍。

+0

谢谢....非常好... – 2012-02-04 16:18:10

0

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

你的问题很差,我的任何一个链接,鲍里斯的正则表达式为中心的答案,或只关注Android的GUI的答案可能是你真正想要的。请记住将来的问题。