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

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

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

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

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

提前致谢。

【问题讨论】:

标签: android xml kotlin


【解决方案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();
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-09-19
        • 1970-01-01
        • 1970-01-01
        • 2014-06-12
        • 1970-01-01
        • 1970-01-01
        • 2014-06-05
        • 1970-01-01
        相关资源
        最近更新 更多