Está en la página 1de 4

import java.text.

SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author hgiacoman
*/
public class validator {
public validator() {
String correo = "helmy_gb@gmail.com";
if(isEmail(correo)){
System.out.println("Mail correcto");
}else{
System.out.println("Mail incorrecto");
}
String fecha = "23/12/1987";
if (isDate(fecha)) {
System.out.println("Fecha correcta");
}else{
System.out.println("Fecha incorrecta");
}
}
//metodo para validar si la fecha es correcta
public boolean isDate(String fechax) {
try {
SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MM/yyyy");
Date fecha = formatoFecha.parse(fechax);
} catch (Exception e) {
return false;
}
return true;
}
//metodo para validar correo electronio
public boolean isEmail(String correo) {
Pattern pat = null;
Matcher mat = null;
pat = Pattern.compile("^([0-9a-zA-Z]([_.w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-w]*[0-9a-zA-Z].)+
([a-zA-Z]{2,9}.)+[a-zA-Z]{2,3})$");
mat = pat.matcher(correo);
if (mat.find()) {
System.out.println("[" + mat.group() + "]");
return true;
}else{
return false;
}
}
public static void main(String args[]) {
new validator();
}
}
Tu validación de fecha no funciona.
te falta
formatoFecha.setLenient(false);
antes del parse

Para poder resolver esta duda la idea es la siguiente. Partimos de las dos siguientes variables:

String cadenaUno = "1234";

String cadenaDos = "No soy un numero";

Ahora tenemos que codificar el método isNumeric(String), el cual podemos utilizar a posteriori para
validar las cadenas. Esto lo haremos de la siguiente forma:

if (Comunes.isNumeric(cadenaUno))

System.out.println(cadenaUno + " es un numero");

else

System.out.println(cadenaUno + " NO es un numero");

if (Comunes.isNumeric(cadenaDos))

System.out.println(cadenaDos + " es un numero");

else

System.out.println(cadenaDos + " NO es un numero");

El método isNumeric(string) se apoyará en la clase Integer. La idea consiste en transformar la


cadena en un número. En el caso de que resulte bien, es que la cadena es un número (obvio), si
falla, es que nuestra cadena no será un número.
isNumeric será un método estático de la clase Comunes. Es por ello que su utilización es
la de Comunes.isNumeric(String).
El método de Integer que nos permite transformarlo en numerico es .parseInt(String). Si va bien
devuelve el entero, sino genera la excepción NumberFormatException. De esta forma nuestro
método quedará de la siguiente forma:

private static boolean isNumeric(String cadena){

try {

Integer.parseInt(cadena);

return true;

} catch (NumberFormatException nfe){

return false;

También podría gustarte