EditText上的电子邮件验证 - Android

Mic*_* M. 4 email validation android android-edittext

我有一个Email EditText,我想通过电子邮件验证来检查它.

这是我的电子邮件验证码

public final static boolean isValidEmail(CharSequence target) {
    if (target == null) {
        return false;
    } else {
        return android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
    }
}

public void showAlertValidation() {
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(RegisterActivity.this);
    alertDialog.setTitle("Failed");
    alertDialog.setMessage("Invalid Email");
    alertDialog.setNegativeButton("Close", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        }
    });
    alertDialog.show();
}
Run Code Online (Sandbox Code Playgroud)

这是我的EditText验证码

editTextEmail= (EditText) findViewById(R.id.editTextEmail);
email = editTextEmail.getText().toString();
if(email.length() == 0) {
    editTextEmail.setError("Email required!");
    if (isValidEmail(email)) {
          Toast.makeText(getApplicationContext(),"valid email address",Toast.LENGTH_SHORT).show();
     }
     else{
          showAlertValidation();
     }
}
Run Code Online (Sandbox Code Playgroud)

问题是EditText的结果.当EditText的值为null时,它会运行showAlertValidation(); 但是如果EditText的值是"email"或"email @ example"或"email@example.com",那么它的showAlertValidation(); 代码运行是否有问题?

Sal*_*zir 15

工作!!!!

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

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