374 Stimmen

Wie sollte ich eine E-Mail-Adresse validieren?

Was ist eine gute Technik für die Validierung einer E-Mail-Adresse (z. B. aus einem Benutzer-Eingabefeld) in Android? org.apache.commons.validator.routines.EmailValidator scheint nicht verfügbar zu sein. Gibt es andere Bibliotheken, die dies tun, die in Android bereits enthalten sind oder würde ich RegExp verwenden müssen?

10voto

Jimit Patel Punkte 4105

Es gibt eine Patterns Klasse im Paket android.util was hier von Vorteil ist. Im Folgenden finden Sie die Methode, die ich immer für die Validierung von E-Mails und viele andere Dinge verwende

private boolean isEmailValid(String email) {
    return !TextUtils.isEmpty(email) && Patterns.EMAIL_ADDRESS.matcher(email).matches();
}

8voto

Gulzar Bhat Punkte 1125

Die einfachste Kotlin-Lösung mit Erweiterungsfunktionen:

fun String.isEmailValid() =
            Pattern.compile(
                    "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
                            "\\@" +
                            "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
                            "(" +
                            "\\." +
                            "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +
                            ")+"
            ).matcher(this).matches()

und dann können Sie wie folgt validieren:

"testemail6589@gmail.com".isEmailValid()

Wenn Sie sich in kotlin-multiplatform befinden und keinen Zugang zu Pattern ist dies das Äquivalent:

fun String.isValidEmail() = Regex(emailRegexStr).matches(this)

8voto

Morpheus Punkte 495

Dies ist der beste Weg in Kotlin Verwenden von Extension Function

fun String.isEmailValid(): Boolean {
        return !TextUtils.isEmpty(this) && android.util.Patterns.EMAIL_ADDRESS.matcher(this).matches()
    }

6voto

AMI CHARADAVA Punkte 303

Für eine E-Mail-Validierung bietet Android einige Eingebautes Muster Aber es unterstützt nur API-Stufe 8 und höher .

Hier ist der Code für die Verwendung dieses Musters zur Überprüfung der E-Mail-Validierung.

  private boolean Email_Validate(String email) 
  {
    return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
  }

Stellen Sie sicher, dass Sie nach der Ausführung dieser Methode prüfen, ob diese Methode wahr dann können Sie die E-Mail speichern und wenn diese Methode falsch dann wird die Meldung angezeigt, dass die E-Mail "ungültig" ist.

Ich hoffe, Sie erhalten Ihre Antwort, Ich danke Ihnen.

6voto

Sumit Sharma Punkte 1807

Rufen Sie diese Methode auf, wenn Sie die E-Mail-ID validieren möchten.

public static boolean isValid(String email)
{
   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()) 
   {
      return true;
   }
   else{
   return false;
   }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X