2012-04-24 90 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

相关问题