Java >> Validar DNI, NIE o CIF en Java

En esta entrada vamos a ver como validar un DNI, un NIE o un CIF. Pero en esta ocasión no vamos a realizar nosotros la implementación, ya que estaríamos haciendo un trabajo que ya han hecho otros por nosotros. Si buscas en Google encontrarás varias implementaciones, pero no estaremos seguros que funcionen correctamente, por ello vamos a usar la librería que nos proporciona la Agencia Tributaria Española para realizar dicha tarea. Dicha librería incluye un método que permite validar un DNI, NIE o CIF, los cuales son campos que aparecerán con casi toda seguridad en cualquier formulario que pida al usuario sus datos personales. Además de habernos ahorrado la implementación (o la búsqueda en Google de dicha implementación), estaremos usando un método 100% fiable, ya que está realizada por la propia AEAT.

Lo primero que debemos hacer es descargarnos dicha librería desde la página de desarrolladores de la Agencia Tributaria donde buscamos la última versión disponible, en este momento es la versión 2.01. Puedes descargarla en el siguiente enlace:

Módulo de validación del NIF (versión 2.01 – 13/08/2008)

Una vez descargada, descomprimimos el fichero y tendremos un directorio que contendrá una carpeta docu, con la documentación de la librería, y una carpeta redistribuir, donde se encuentra el JAR que deberemos importar. La importación de la librería si estamos usando Eclipse se realizará de la siguiente manera:

  1. Clic derecho sobre nuestro proyecto.
  2. Seleccionamos Properties, a continuación Java Build Path y nos vamos a la pestaña Libraries.
  3. Clic en Add External JARs... y seleccionamos el fichero valnif.jar dentro del directorio redistribuir.

Una vez importada la librería, usarla es muy sencillo. Simplemente deberemos crear un objeto de la clase Validador y a continuación invocamos el método checkNif() que nos devolverá un entero que nos indicará si el NIF, NIE o CIF introducido es correcto o no. Si dicho entero es mayor que cero el valor introducido será correcto, mientras que si es negativo será incorrecto:

import com.aeat.valida.Validador;

public class ValidacionNIF {
	public static void main(String[] args) {

		String input = "000000000";
		Validador validador = new Validador();
		int e = validador.checkNif(input);

		if (e > 0)
			System.out.println("OK");
		else
			System.out.println("MAL");

	}
}

Más información | Agencia Tributaria

Etiquetado , , , , ,

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: