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
- Mil gracias por tu respuesta, me has aclarado much... - 3/4/2015 - Mistròc
- Al ver que citas dos fuentes que al pie de tu artí... - 6/19/2018 - Carlos Vásquez Polanco
- Hola Nico, si te gusta el tema del diseño web, sin... - 3/2/2015 - TecnoInfE
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:
Entradas (Atom)