在进行第二个活动之前验证电子邮件地址

Posted

技术标签:

【中文标题】在进行第二个活动之前验证电子邮件地址【英文标题】:Validate Email Address Before Going To Second Activity 【发布时间】:2018-10-16 17:51:45 【问题描述】:

我有一个活动,其中包含姓名、电子邮件和密码的文本编辑,以及一个将用户带到下一个活动的按钮。

问题是,即使用户输入了无效的电子邮件地址,他仍然可以进行第二个活动,我希望检查该电子邮件地址,而不是如果他输入了有效的电子邮件地址,他可以进行第二个活动,如果不是Toast 消息显示无效的电子邮件地址。

我正在使用 KOTLIN,但我也可以使用 java。

请任何人指导我如何做到这一点?

提前致谢。

【问题讨论】:

试试这个-***.com/questions/1819142/…@hatimboubakri 【参考方案1】:

有一个有趣的 Java 库,您可以使用它来测试电子邮件是否有效。

这里是 Gradle 依赖:

implementation group: 'commons-validator', name: 'commons-validator', version: '1.6'

以下是验证电子邮件字符串的方法:

首先,将editText 的值捕获到一个String 对象中。 然后,您可以使用以下模式来捕获一个布尔值,该值告诉用户是否输入了一个有效的电子邮件地址。

String email = "user@domain.com";

现在,您可以使用电子邮件验证器:

 boolean isValid = EmailValidator.getInstance().isValid(email);

这是我找到的最简单的方法。 我希望这会有所帮助!

【讨论】:

【参考方案2】:
fun isEmailValid(email: String): Boolean 
       return Pattern.compile(
    "^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]|[\\w-]2,))@"
 + "((([0-1]?[0-9]1,2|25[0-5]|2[0-4][0-9])\\.([0-1]?"
 + "[0-9]1,2|25[0-5]|2[0-4][0-9])\\."
 + "([0-1]?[0-9]1,2|25[0-5]|2[0-4][0-9])\\.([0-1]?"
 + "[0-9]1,2|25[0-5]|2[0-4][0-9]))|"
 + "([a-zA-Z]+[\\w-]+\\.)+[a-zA-Z]2,4)$"
 ).matcher(email).matches()

【讨论】:

【参考方案3】:

我们现在有简单的电子邮件模式匹配器

private static boolean isValidEmail(String email) 
        return !TextUtils.isEmpty(email) && android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
    

【讨论】:

以上是关于在进行第二个活动之前验证电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章

该电子邮件地址已被另一个帐户使用(使用电子邮件/密码 Firebase 进行身份验证)

向“切换”发送垃圾邮件时,C#/WPF 处理活动的故事板动画

在确认注册之前验证用户的电子邮件地址,使用 Flutter 和 Firebase

检查贝宝电子邮件地址是不是是经过验证的用户

如何首先在Firebase中发送电子邮件验证,然后创建帐户?

覆盖活动的管理会话控制器