Construção de Bean para validação de CPF/CNPJ

3 respostas
A

Caros amigos:
Tenho uma dúvida com relação ao código abaixo (pois está um pouco complicado pra mim…), pois preciso construir um Bean que receba uma string em caracteres (numero de CPF/CNPJ), e pegue o resultado para validação do mesmo em uma página JSP… Alguém pode me ajudar a construir esse bean?

segue abaixo o código da função que faz essa validação (cujo um irmão dessa comunidade mandou)…

public static boolean isValid(String cpfOrCnpj){
            if (cpfOrCnpj == null) return false;
            String n = cpfOrCnpj.replaceAll("[^0-9]*","");
            boolean isCnpj = n.length() == 14;
            boolean isCpf = n.length() == 11;
            if (!isCpf && !isCnpj) return false;
            int i; int j;   // just count
            int digit;      // A number digit
            int coeficient; // A coeficient
            int sum;        // The sum of (Digit * Coeficient)
            int[] foundDv = {0,0}; // The found Dv1 and Dv2
            int dv1 = Integer.parseInt(String.valueOf(n.charAt(n.length()-2)));
            int dv2 = Integer.parseInt(String.valueOf(n.charAt(n.length()-1)));
            for (j = 0; j < 2; j++) {
                sum = 0;
                coeficient = 2;
                for (i = n.length() - 3 + j; i >= 0 ; i--){
                    digit = Integer.parseInt(String.valueOf(n.charAt(i)));
                    sum += digit * coeficient;
                    coeficient ++;
                    if (coeficient > 9 && isCnpj) coeficient = 2;
                }
                foundDv[j] = 11 - sum % 11;
                if (foundDv[j] >= 10) foundDv[j] = 0;
            }
            return dv1 == foundDv[0] && dv2 == foundDv[1];
            }

Ajudem por favor…
i[]'s
Alberto.

3 Respostas

Luca

Olá

Quando vc for postar código, coloque-o entre as tags [ code] e [ /code], assim ele ficará identado.

[]s
Luca

fmeyer

De uma olhada nesse código,

o.isCNPJ = function(){

    var d = this.split("");

    var m1 = [d[0]*5,d[1]*4,d[2]*3,d[3]*2,d[4]*9,d[5]*8,d[6]*7,d[7]*6,d[8]*5,d[9]*4,d[10]*3,d[11]*2];

    var s1 = 0;

    for(i in m1){ s1 += m1[i]; }

    var d1 = (s1%11<2)?0:11-(s1%11);

    var m2 = [d[0]*6,d[1]*5,d[2]*4,d[3]*3,d[4]*2,d[5]*9,d[6]*8,d[7]*7,d[8]*6,d[9]*5,d[10]*4,d[11]*3,d1*2];

    var s2 = 0;

    for(i in m2){ s2 += m2[i]; }

    var d2 = (s2%11<2)?0:11-(s2%11);

    return (d1 == d[12] && d2 == d[13])? true: false;

  } 

 

  o.isCPF = function(){

    var d = this.split("");

    var m1 = [d[0]*10,d[1]*9,d[2]*8,d[3]*7,d[4]*6,d[5]*5,d[6]*4,d[7]*3,d[8]*2];

    var s1 = 0;

    for(i in m1){ s1 += m1[i]; }

    var d1 = (s1%11<2)?0:11-(s1%11);

    var m2 = [d[0]*11,d[1]*10,d[2]*9,d[3]*8,d[4]*7,d[5]*6,d[6]*5,d[7]*4,d[8]*3,d1*2];

    var s2 = 0;

    for(i in m2){ s2 += m2[i]; }

    var d2 = (s2%11<2)?0:11-(s2%11);

    return (d1 == d[9] && d2 == d[10])? true: false;

  }

  delete o;
farribeiro

O BrazilUtils pode resolver?
O que é: http://www.guj.com.br/posts/list/20643.java

Site do projeto: https://brazilutils.dev.java.net/

Até

Criado 13 de julho de 2005
Ultima resposta 14 de jul. de 2005
Respostas 3
Participantes 4