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?
Antworten
Zu viele Anzeigen?
Pankaj Talaviya
Punkte
3010
Verwenden Sie einfachen Ein-Zeilen-Code für die E-Mail-Validierung
public static boolean isValidEmail(CharSequence target) {
return !TextUtils.isEmpty(target) && android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
}
verwenden wie...
if (!isValidEmail(yourEdittext.getText().toString()) {
Toast.makeText(context, "your email is not valid", 2000).show();
}
Danilo Lemes
Punkte
1994
Matteo
Punkte
1426
Victor Odiah
Punkte
1041
Verwenden Sie Android:inputType="textEmailAddress" wie unten:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="email"
android:inputType="textEmailAddress"
android:id="@+id/email"
/>
und:
boolean isEmailValid(CharSequence email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email)
.matches();
}
Mudassir
Punkte
14250
Sie können dazu reguläre Ausdrücke verwenden. Etwas wie das Folgende.
Pattern pattern = Pattern.compile(".+@.+\\.[a-z]+");
String email = "xyz@xyzdomain.com";
Matcher matcher = pattern.matcher(email);
boolean matchFound = matcher.matches();
Hinweis: Überprüfen Sie den oben angegebenen regulären Ausdruck, verwenden Sie ihn nicht so wie er ist.