Estas validaciones de correo electronico son utilizando expresiones regulares. Puede haber otras formas, pero voy a explicarles como hacerlo con expresiones regulares.
Validar email con una expresión regular sencilla:
Ésta expresión regular es simple y se preocupa por que tenga el símbolo '@'. Y que tenga cualquier numero o carácter antes y después del '@'. Veamos un ejemplo rápido para ver a qué me refiero.
public static boolean validarEmailSimple(String email){ String regex = "^(.+)@(.+)$"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(email); return matcher.matches(); }
Validar email con una expresión regular sencilla con mas restricciones:
Las restricciones que vemos añadido son las siguientes:- Caracteres permitidos de la A a la Z en mayúsculas.
- Caracteres permitidos de la "a" a la "z" en minúsculas.
- Números permitidos del 0 al 9.
- Y de todos lo caracteres especiales solo pueden usar punto ( . ), guion ( - ) y guion bajo ( _ ).
public static boolean validarEmailSimplePro(String email){ String regex = "^[A-Za-z0-9+_.-]+@(.+)$"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(email); return matcher.matches(); }
Validación para restringir puntos iniciales, finales o puntos consecutivos en los correos electrónicos
Tanto la parte local como el nombre de dominio no pueden contener puntos al final ni al inicio, ni tampoco que vallan puntos consecutivos, por ello vamos a validar ese detalle.public static boolean validarEmailIntemedia(String email){ String regex = "^[a-zA-Z0-9_!#$%&'*+/=?`{|}~^-]+(?:\\.[a-zA-Z0-9_!#$%&'*+/=?`{|}~^-]+)*@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(email); return matcher.matches(); }
Validación de email recomendada
Ahora vamos a modificar la expresión regular de tal manera que el nombre de dominio debe incluir al menos un punto, y que la parte del nombre de dominio tras el último punto sólo puede contener letras.El dominio de nivel superior (.com ) debe consistir en sólo dos a seis caracteres.
public static boolean validarEmailFuerte(String email){ String regex = "^[\\w!#$%&'*+/=?`{|}~^-]+(?:\\.[\\w!#$%&'*+/=?`{|}~^-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(email); return matcher.matches(); }
Espero que les guste :) Gracias.
NOTA: TODAS LAS FUNCIONES RETORNAN UN TRUE SI EL CORREO ES VALIDO.