Android Email EditText Validación

Tengo esta definición de EditText:

<EditText android:layout_height="wrap_content" android:layout_width="fill_parent" android:inputType="textEmailAddress" android:id="@+id/EmailText"/> 

Observe que el EditText tiene el tipo inputType definido con una especificación de dirección de correo electrónico. ¿Tiene Android algo incorporado para validar un tipo de entrada de dirección de correo electrónico, o todo esto tiene que hacerse manualmente? Me permite ingresar datos no válidos, así que tengo curiosidad en cuanto a su propósito.

Gracias.

Aquí, al dar el tipo de entrada de correo electrónico que está configurando el teclado de tipo de correo electrónico significa "@" y "." La palabra clave se mostrará en el teclado.

La mejor solución es comparar el correo electrónico siguiendo la función

 public boolean isEmailValid(String email) { String regExpn = "^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@" +"((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?" +"[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\." +"([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?" +"[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|" +"([a-zA-Z]+[\\w-]+\\.)+[a-zA-Z]{2,4})$"; CharSequence inputStr = email; Pattern pattern = Pattern.compile(regExpn,Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(inputStr); if(matcher.matches()) return true; else return false; } 

Si esta función devuelve true, entonces su dirección de correo electrónico es válida, de lo contrario no

Si utiliza API 8 o superior, puede utilizar la clase Patterns disponibles para validar el correo electrónico. Código de muestra:

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

Por casualidad si incluso está soportando un nivel API inferior a 8, entonces simplemente puede copiar el archivo Patterns.java en su proyecto y hacer referencia a él. Puedes obtener el código fuente de Patterns.java desde este enlace

Un poco mejores respuestas que puedes encontrar aquí y aquí (créditos a los autores originales)

 boolean isEmailValid(CharSequence email) { return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches(); } 

O la biblioteca de validación personalizada https://github.com/vekexasia/android-form-edittext comprobar el segundo enlace para obtener más detalles y vista previa (regexp, numérico, alpha, alphaNumeric, correo electrónico, creditCard, teléfono, domainName, ipAddress, webUrl)

Aclamaciones

El campo de Editext no validará su email solamente fijando su método de la entrada al tipo del email.

Debe validarlo usted mismo.

Android: ¿hay alguna buena solución para validar Editboxes?

Validación de correo electrónico android

  • Implementación de HeartBeat en Atmosphere Framework (Android)
  • SurfaceView for Camera Preview no se destruye cuando se pulsa el botón de encendido
  • Cómo agregar los datos escritos a un archivo?
  • Confundido acerca de cómo funciona el cifrado de Android
  • ¿Cómo mover / renombrar el archivo de almacenamiento de aplicaciones internas a almacenamiento externo en Android?
  • WebView con cliente HTTP personalizado
  • Json a clases de datos kotlin
  • Android Studio no muestra javadoc con CTRL + Q pero está disponible en el origen
  • Android - ¿Cómo obtener un archivo de imagen de Fresco caché de disco?
  • Actualizar City Spinner con notifyDataSetChanged después de seleccionar estado
  • Android: ¿Por qué el constructor de SoundPool está obsoleto?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.