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

时间:2018-05-06 23:37:32

标签: android xml kotlin

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

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

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

任何人都可以指导我如何做到这一点吗?

提前致谢。

3 个答案:

答案 0 :(得分:2)

有一个有趣的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);

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

答案 1 :(得分:1)

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()
}

答案 2 :(得分:0)

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

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