【问题标题】:How to make email validation in android?如何在android中进行电子邮件验证?
【发布时间】:2016-06-27 10:37:27
【问题描述】:

我有一个编辑文本并为此实施了一些验证,但是当我输入 "RRRR@RRRRFF.com" 它将接受该值。我该怎么做

代码:-

/*validation for email*/
private boolean isValidEmail(String email) {// validation for email Id
    String emailPattern = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
            + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

    Pattern pattern = Pattern.compile(emailPattern);
    Matcher matcher = pattern.matcher(email);
    return matcher.matches();
}

【问题讨论】:

  • 电子邮件的外壳不是 InSensiTiVe 吗?
  • 有什么理由不使用android.util.Patterns.EMAIL_ADDRESS
  • RRRR@RRRRFF.com 是有效的电子邮件。
  • 因为它是有效的。你想在它有效时显示错误??

标签: android


【解决方案1】:

试试这个:

Pattern.compile(Patterns.EMAIL_ADDRESS.toString()).matcher(textView.getText().toString()).matches()

【讨论】:

  • 不是答案。在上述情况下它仍然会返回 true
【解决方案2】:

使用此代码。

 if (!android.util.Patterns.EMAIL_ADDRESS.matcher(emailAddress.getText().toString()).matches()) {
                        Toast.makeText(EditProfileActivity.this, getString(R.string.plzenter_valid_email), Toast.LENGTH_SHORT).show();
                        return;
                    }

【讨论】:

    【解决方案3】:

    试试这个代码。它的作用就像一个魅力

        boolean isValid = false;
    
        String expression = "^[\\w\\.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
        CharSequence inputStr = email;
    
        Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(inputStr);
        if (matcher.matches()) {
            isValid = true;
    
        }
        return isValid;
    

    【讨论】:

      猜你喜欢
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 2020-03-01
      • 1970-01-01
      • 2016-09-21
      • 1970-01-01
      相关资源
      最近更新 更多