0 votos
por (20 puntos) en Java
Hola a todos, ya se que es muy facil,pero me ahorraria tiempo...

Alguien sabe donde encontrar una función en Java que valide el NIF?

Muchas gracias,

Meg


1 Respuesta

0 votos
por (8.5k puntos)
Buenas!

Doy por hecho que hablamos del NIF español, te dejo una función que hice en su día, espero que te sirva.

<pre lang='java' lineno='1'>public class Validar {

    public boolean nif(String n) throws NifNoValidoExcepcion{

        Pattern patron=Pattern.compile("\d{3,8}\-[azA-Z]{1}");
        Matcher m=patron.matcher(n);
        if( m.matches()){
            if( this.validarLetra(n))
                return true;
         throw new NifNoValidoExcepcion();
        }
        throw new NifNoValidoExcepcion();
        //return false;
}

    private boolean validarLetra(String n){

        String[] nif=n.split("-");

        int letra=(Integer.valueOf(nif[0]).intValue())%23;
        String[] abc={"T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E","T"};

        if(abc[letra].compareToIgnoreCase(nif[1])==0){
            return true;
        }
        return false;
    }

}

Preguntas relacionadas

0 votos
3 respuestas
preguntado por CarlaMedina (20 puntos) Ene 28, 2016 en HTML
0 votos
0 respuestas
0 votos
0 respuestas
preguntado por daniela (20 puntos) Ene 15, 2023 en Java
0 votos
0 respuestas
preguntado por Albertoused1999 (20 puntos) Oct 25, 2022 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...