Android电子邮件验证无效

时间:2017-01-12 14:13:59

标签: java android

我是Android编程和Java的新手,很难理解。

我有一个用户可以输入的电子邮件的editText字段。我得到了输入:



final EditText loginEmail = (EditText) findViewById(R.id.loginEmail);




不,我是否检查此字段是否为空。如果这样的话,我就是这样做的。



if (loginEmail.getText().toString().length() == 0) {
  loginEmail.setError("Please enter a E-Mail Address!");
} else if () {
  loginEmail.setError("Invalid E-Mail Address!");
} else {
  //Do a thing if is valid...  
}




在第一次if之后我想检查输入是否是有效的电子邮件,但不知道如何处理此事。

我已经尝试了这篇文章的答案:Email Address Validation in Android on EditText

但我不知道如何使用这种方法...

感谢您的帮助!

7 个答案:

答案 0 :(得分:3)

使用:

#example 1
good_mat<-matrix(c(c(1,0,1),c(1,0,1),c(0,0,1)), 3,3, byrow=F)
apply(good_mat, 2, FUN=table) # good result, matrix

#example 2
bad_mat<-matrix(c(rep(1,3),c(1,NA,1),c(0,0,1)), 3,3, byrow=F)
apply(bad_mat, 2, FUN=table) # strange list

答案 1 :(得分:1)

将其他帖子中的方法添加到您的课程中。 然后使用:

String email = loginEmail.getText().toString();
if (email.isEmpty()) {
    loginEmail.setError("Please enter a E-Mail Address!");
} else if (!isValidEmail(email)) {
    loginEmail.setError("Invalid E-Mail Address!");
} else {
  // Do a thing if is valid...  
}

答案 2 :(得分:1)

试试这个,

String email_string = loginEmail.getText().toString();
if(!TextUtils.isEmpty(email_string) && android.util.Patterns.EMAIL_ADDRESS.matcher(email_string).matches()) {
    //valid emailID
}

答案 3 :(得分:1)

检查输入的文本是否为空并与电子邮件模式匹配。

String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

String email = loginEmail.getText().toString();

if (email.isEmpty() && email.matches(emailPattern)) {
    loginEmail.setError("Please enter a E-Mail Address!");
} else 
    loginEmail.setError("Invalid E-Mail Address!"); 
}

答案 4 :(得分:0)

工作!!!!

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

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

答案 5 :(得分:0)

来源:这是StackOverflow答案之一中的代码,用于使用Java进行电子邮件验证。

const form = document.forms[0];
const inputs = form.querySelectorAll("fieldset > input, fieldset > textarea");
const submit = form.querySelector("[type=submit]");

for (i in inputs) {
    var _input = inputs[i];

    if (typeof _input == 'object') {
    _input.addEventListener("change", () => {
      submit.disabled = false;

      for (i in inputs) {
        var _input = inputs[i];

        if (typeof _input == 'object') {
          if (_input.value == '') {
            submit.disabled = true;
            break;
          }
        }
      }
    });
  }
}

答案 6 :(得分:0)

全局声明此字符串格式

final String EMAIL_PATTERN = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

现在匹配文本中的模式

if ((!email_a.getText().toString().trim().matches(EMAIL_PATTERN))) { email_a.setError("Invalid email"); } 享受编码:)