RSS

Validar dígito verificador CPF

20 jul

JAVA – Framework TotalCross:

1º – Chamada ao método e conferência:

// Cpf passado sem os dois últimos dígitos. No método calcDigVerifCpf() os caracteres especiais são removidos. Ex:123.456.789-
String digitoVerificador = calcDigVerifCpf(edtCgcCpf.getText().substring(0, edtCgcCpf.getText().length() - 2));

if(!digitoVerificador.equals(edtCgcCpf.getText().substring(12)))
  System.out.println("Dígito verificador do CPF inválido");

2º – Método que calcula o dígito verificador do CPF:

public String calcDigVerifCpf(String cpf) {

   cpf = formataRemocaoCaracteresEspeciais(cpf);

   int soma = 0, divisao = 11, primDig = 0, segDig = 0;
   for (int i = 1; i <= 9; i++)
      soma += i * Integer.parseInt(cpf.substring(i-1, i));

   primDig = (soma % divisao);

   if(primDig == 10)
      primDig = 0;

   cpf += primDig;

   soma = 0;
   for (int j = 0; j <= 9; j++)
      soma += j * Integer.parseInt(cpf.substring(j, j+1));

   segDig = (soma % divisao);

   if(segDig == 10)
      segDig = 0;

   return ""+primDig + segDig;
}

3º – Remoção dos caracteres especiais:

public String formataRemocaoCaracteresEspeciais(String valor){

   if (valor.indexOf(",") != -1 || valor.indexOf(".") != -1 || valor.indexOf("-") != -1 || valor.indexOf("/") != -1) {

      StringBuffer valorAux = new StringBuffer();
      for (int i = 0; i < valor.length(); i++)
         if ((valor.charAt(i) != ',') && (valor.charAt(i) != '.') && (valor.charAt(i) != '-') && (valor.charAt(i) != '/'))
            valorAux.append(valor.charAt(i));

      valor = valorAux.toString();
  }      
  return valor;
}

 

Sobre ferrauber

Bacharel em Ciência da Computação. Analista e desenvolvedor de sistemas. Aficionado em java mobile e web, j2ee, php.
Leave a comment

Publicado por em 20 julho 2011 em Métodos - formatações

 

Deixe uma resposta

Faça o login usando um destes métodos para comentar:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

 
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.