Как проверить, что текст edittext является адресом электронной почты или нет? - PullRequest
107 голосов
/ 25 мая 2011

как проверить текст edittext адрес электронной почты или нет без использования javascript и регулярного выражения?Здесь я использовал inputtype="textEmailAddress", это работает, но сообщение об ошибке не отображается.

Ответы [ 16 ]

1 голос
/ 10 января 2013

Простой метод

    private boolean isValidEmail(String email)
{
    String emailRegex ="^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
    if(email.matches(emailRegex))
    {
        return true;
    }
    return false;
}
0 голосов
/ 15 июля 2019

В вашем случае вы можете использовать android.util.Patterns package.

EditText email = (EditText)findViewById(R.id.user_email);

if(Patterns.EMAIL_ADDRESS.matcher(email.getText().toString()).matches())
    Toast.makeText(this, "Email is VALID.", Toast.LENGTH_SHORT).show();
else
    Toast.makeText(this, "Email is INVALID.", Toast.LENGTH_SHORT).show();
0 голосов
/ 26 мая 2019

С android.util.Patterns и Kotlin это очень просто. Однострочная функция, которая возвращает логическое значение.

fun validateEmail(email: String) = Patterns.EMAIL_ADDRESS.matcher(email)
0 голосов
/ 23 августа 2016
private boolean isValidEmailID(String email) {
    String PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
    Pattern pattern = Pattern.compile(PATTERN);
    Matcher matcher = pattern.matcher(email);
    return matcher.matches();
}

Для дополнительной проверки нажмите здесь

0 голосов
/ 30 июня 2016

Вы можете проверить это по регулярному выражению

    public boolean isValid(String strEmail)
    {
        pattern = Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
            matcher = pattern.matcher(strEmail);

        if (strEmail.isEmpty()) {
           return false;
        } else if (!matcher.matches()) {
            return false;
        }
        else
        {
        return true;
        }
     }
0 голосов
/ 25 мая 2011

для проверки электронной почты попробуйте это.

public boolean checkemail(String email)
{

    Pattern pattern = Pattern.compile(".+@.+\\.[a-z]+");
    Matcher matcher = pattern.matcher(email);
    return matcher.matches();

}
...