2012-04-24 89 views
0

我正在寫一個應用程序在Android中,將允許用戶註冊一個帳戶,只要他們有一個特定的.edu電子郵件(例如abc.edu)。我開始編寫一些代碼來驗證這一點,但現在我想知道是否有任何方法可以使這更容易。我只學習了初學Java /編程課程,所以我不確定我正在做什麼是完全錯誤的方式去做這件事。最有效的方式來檢查電子郵件擴展

這裏是我的僞代碼:

Get length of inputted email. 
if (
email.charat(length)-1 = u && 
email.charat(length)-2 = d && 
email.charat(length)-3 = e && 
email.charat(length)-4 = . && 
email.charat(length)-5 = c && 
email.charat(length)-6 = b && 
email.charat(length)-7 = a) 

Success 
else 
Not a valid email 
+0

不要尋找*高效*,尋找*可讀*和*可維護*。而上述不是它...... – 2012-04-24 05:58:32

回答

3

Java的String類有您可以使用endsWith方法:

if (email.endsWith("abc.edu") { ... } 

如果你有一個可編輯的,您可以:

if (email.toString().endsWith("abc.edu")) { ... } 

如果你想不區分大小寫,只需要:

if (email.toString().toLowerCase().endsWith("abc.edu")) { ... } 
+0

嗯......我使用的是Editable類,它似乎不支持'endsWith'類。我必須使用「可編輯」而不是「字符串」,因爲我從用戶輸入中檢索文本。 – EGHDK 2012-04-24 05:49:02

+0

@EGHDK:編輯。請注意,您的僞代碼確實可行,並且可以通過使用某種形式的列表(甚至字符串)爲您想要比較的字符以及循環而不是長比較鏈來進行更加通用的處理。 – Mat 2012-04-24 05:54:41

+0

謝謝,它的工作原理!最後,你知道我可以如何實現ignoreCase功能嗎?如果我使用大寫的ABC,它會拋出函數,但小寫abc現在可以工作。再次感謝 – EGHDK 2012-04-24 06:09:53

相關問題