public static boolean isNifNie(String nif){
_log.debug("NIF "+nif);
//si es NIE, eliminar la x,y,z inicial para tratarlo como nif
if (nif.toUpperCase().startsWith("X")||nif.toUpperCase().startsWith("Y")||nif.toUpperCase().startsWith("Z"))
nif = nif.substring(1);
Pattern nifPattern =
Pattern.compile("(\\d{1,8})([TRWAGMYFPDXBNJZSQVHLCKEtrwagmyfpdxbnjzsqvhlcke])");
Matcher m = nifPattern.matcher(nif);
if(m.matches()){
String letra = m.group(2);
//Extraer letra del NIF
String letras = "TRWAGMYFPDXBNJZSQVHLCKE";
int dni = Integer.parseInt(m.group(1));
dni = dni % 23;
String reference = letras.substring(dni,dni+1);
if (reference.equalsIgnoreCase(letra)){
_log.debug("son iguales. Es NIF. "+letra+" "+reference);
return true;
}else{
_log.debug("NO son iguales. NO es NIF. "+letra+" "+reference);
return false;
}
}
else
return false;
}
Blog sobre los ciclos de FP a distancia de Informática (ASIR, DAM y DAW) y sus módulos profesionales
Últimos Comentarios
martes, 27 de enero de 2015
Verificación de NIF o NIE válido
Un posible código podría ser este:
sábado, 24 de enero de 2015
martes, 13 de enero de 2015
Suscribirse a:
Comentarios (Atom)
