2015-10-07 44 views
0

我有一種情況,用戶將進入電子郵件或電話號碼登錄到應用程序中,只有一個的EditText在paytm提供,像檢測,如果手機號碼或電子郵件地址輸入

我需要檢測其中輸入或者電子郵件或電話沒有,這樣我可以正確設置 我的服務器我如何能檢測一下用戶已經輸入號碼或電子郵件

+0

爲什麼不使用'if'? –

+1

如果它不包含'@'這是一個電話號碼。但我認爲更好的做法是在兩個字段之間顯示「或」,讓用戶決定是否要填寫電話,電子郵件或兩者兼而有之。 – alfasin

+0

如果你使用的是android,那就使用android方式:)這就是爲什麼我喜歡@wblaschko的答案 – 0X0nosugar

回答

1

有一兩件事你可以做的是檢查它是否是一個電子郵件地址,然後檢查它是否是一個有效的電話號碼。我會使用內置的Android功能,如下所示:

boolean isEmailValid(CharSequence email) { 
    return Patterns.EMAIL_ADDRESS.matcher(email).matches(); 
} 

如果返回false,請檢查它是否是有效的電話號碼(Patterns.PHONE)。

如果其中一個返回true,那麼你知道它是哪個。如果兩者都不正確,則這是無效的條目。

更多關於emailphone的匹配。

0

一對正則表達式的...

對於電子郵件:http://www.regular-expressions.info/email.html

對於電話: A comprehensive regex for phone number validation

一個簡單的方法是完全一樣,你可能會想:

  1. 修剪首尾空白

  2. 查找任何其他字符串之間的@ char - 如果是,則假定它是一封電子郵件。

  3. 否則,做一些基本的圓括號,破折號,空格和點去除。如果剩下的都是數字,那可能是一個電話號碼。

無論你如何解析,你必須驗證,如果這些字符串是合法的,在撥打,或郵寄東西,它的序列中檢測到的字符串作爲電子郵件與電話號碼的地方。

相關問題