我有一个活动,其中包含一个用于名称,电子邮件和密码的文本编辑以及一个将用户带到下一个活动的按钮。
问题在于,即使用户输入了无效的电子邮件地址,他仍然可以进行第二次活动,我希望检查电子邮件地址,而不是如果他输入了有效的电子邮件地址,他可以进入第二次活动,如果不是吐司消息显示无效电子邮件地址。
我正在与KOTLIN合作,但我也可以使用java。
任何人都可以指导我如何做到这一点吗?
提前致谢。
答案 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();
}