2012-02-04 40 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的答案可能是你真正想要的。請記住將來的問題。