【问题标题】:Most efficient way to check email extension检查电子邮件扩展的最有效方法
【发布时间】:2012-05-04 18:10:56
【问题描述】:

我正在 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

【问题讨论】:

  • 不要寻找效率,寻找可读可维护。而以上还不是……

标签: java android email email-validation


【解决方案1】:

Java String 类有一个您可以使用的endsWith 方法:

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

如果你有一个 Editable,你可以:

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

如果您希望不区分大小写,请执行以下操作:

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

【讨论】:

  • 嗯...我正在使用 Editable 类,它似乎不支持 endsWith 类。当我从用户输入中检索文本时,我必须使用“可编辑”而不是“字符串”。
  • @EGHDK:已编辑。请注意,您的伪代码确实有效,并且可以通过对要比较的字符使用某种形式的列表(甚至是字符串)以及循环而不是长比较链来使其更通用。跨度>
  • 谢谢,它有效!最后,你知道我如何实现 ignoreCase 函数吗?如果我使用大写 ABC,它会抛出该函数,但小写 abc 现在可以工作。再次感谢
  • @EGHDK:已编辑。只需小写您的输入。 (这不会改变您的 Editable,而是保持其原始值。)
  • 不知道 toLowerCase 是一种方法。哈哈哈。谢谢马特,我真的很感激!
猜你喜欢
  • 2011-10-07
  • 2017-04-23
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多