在进行第二个活动之前验证电子邮件地址
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