viernes, 18 de enero de 2008

Validación de Email y Fecha en Java

Aqui les dejo la forma de como validar correos electronicos en Java, es una clase sencilla, pero a partir de ella se puede validar en aplicaciones web o de escritorio a la hora de usar formularios.



la cadena larga que aparece ahi, van a creer que no tiene sentido, pero en realidad eso es una expresion regular, en la Universidad donde estudio recibimos una clase que se llama Teoria de Computación, abarca lenguajes y expresiones regulares, automatas finitos, etc, etc, para los que ya la conocen no les sera muy dificil entenderle al pattern (patrón) que está ahi..

Prometo que mi próximo post será explicar paso a pasa como funca ese patrón.

Que les sirva.

22 comentarios:

$+3v3n dijo...

Que buen aporte, justo lo que andaba buscando... =S pero tambien necesito validar el numero de telefono (7 o 9 digitos) a ver si puedes ayudarme, este es mi correo stvn_03@hotmail.com
Gracias

Tomás dijo...

Otra forma de validar el mail sería:

if (!email.matches(".+@.+\\..+")) {

código manejo error.

}

David dijo...

Tu validación de fecha no funciona.
te falta
formatoFecha.setLenient(false);
antes del parse

Mario dijo...

Vale compadre me sirvio el del E-mail, el otro no lo he probado pero ese necesitaba gracias

Helmy Giácoman | Eos87 dijo...

gracias por la sugerencia David, voy a probar.

@Mario: de nada.

Saludos

Anónimo dijo...

Excelente amigo gracias! y es cierto lo de David: falta formatoFecha.setLenient(false);
antes del parse

Anónimo dijo...

Muy bien el código me ha servido me ahorro trabajo
salu2 from Ecuador

Smalbach dijo...

El validador de correos no esta correcto, tiene muchos defectos

David dijo...

Estimado, muy buen aporte, aunque debo sugerir una modificación en la expresion regular que empleas.

Ejecuté test unitarios sobre tu método y no me validaba los correos tipo "xx_xxx@xxxx.xx" por ende, le hice un cambio.

La expresión es la siguiente.

"^[\\w\\-\\_]+(\\.[\\w\\-\\_]+)*@([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}$"

Suerte con tus estudios en Java ;)

JOSE CARLOS dijo...

La validación del mail a mi no me funciona correctamente, por ejemplo para el caso de la direccion: nombre@mail.es no me lo reconoce, y este debería ser un mail valido.

Anónimo dijo...

la expresión para validar el correo no es 100 % efectiva tome la de #David y funciono.

Gracias a los dos. Saludos

Anónimo dijo...

hola,probe el programa y el resultado sale por consola,lo quiero atarvez de una venta podrian ayudarme porfavor.
gracias

Anónimo dijo...

La versión de David está bien, pero le falta un detallito: existen direcciones de mail que contienen un +.

Haciendo el cambio quedaría así:
"^[\\w\\-\\_\\+]+(\\.[\\w\\-\\_]+)*@([A-Za-z0-9-]+\\.)+[A-Za-z]{2,4}$"

Anónimo dijo...

Gracias David..me sirvio con lo q dijiste.

Erick dijo...

necesito validar un numero y una cadena de entrada, alguien me puede ayudar porfavor?

literalito dijo...

a ver... a mi me andubo a la perfección... porq será? versión de jdk?

Vlado dijo...

Muy bueno garcias

Martin Rios dijo...

Gracias Atodos por sus aportes de codigo y correciones... me Sirvio mucho... saludos desde Colombia

Anónimo dijo...

Ni la del #author ni la de #David sirve, porque admiten multiples sufijos de dominios... bah par de ignorantes! quieren una validaci{on a prueba de tontos???---- pues repasen Pattern y Regex en Java, flojazos

Alexis1490 dijo...

Buenazo justo eso era lo que estaba buscando Gracias !!!

Anónimo dijo...

Paqueteee = null;

Paqueteee = tu;

;)

Zahi dijo...

Holas , reeemplaza la linea de System.out.printl con -- JOptionPane.showMessageDialog(null, "mail correcto"); --
asi con cada mensaje