Pular para o conteúdo

Código Java para validar CPF

Classe Java com os métodos de validação de um CPF, conforme as regras da Receita Federal. Para usá-la faça as adaptações de acordo com o seu projeto.
Samuel E Nascimento superbig
Hits: 46.168 Categoria: Java Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Classe Java com os métodos de validação de um CPF, conforme as regras da Receita Federal. Para usá-la faça as adaptações de acordo com o seu projeto.
Download Cpf.java Enviar nova versão

Esconder código-fonte

import java.util.*;

/**
* Classe com método para validação de CPF
*
* Pode ser utilizada livremente e modificada para se integrar à sistemas mais complexos.
*
* @version 1.0
* @since   05/06/2003
*/
public class Cpf {

   /** Realiza a validação do CPF.
    *
    * @param   strCPF número de CPF a ser validado
    * @return  true se o CPF é válido e false se não é válido
    */
   static public boolean CPF (String strCpf )
   {
      int     d1, d2;
      int     digito1, digito2, resto;
      int     digitoCPF;
      String  nDigResult;

      d1 = d2 = 0;
      digito1 = digito2 = resto = 0;

      for (int nCount = 1; nCount < strCpf.length() -1; nCount++)
      {
         digitoCPF = Integer.valueOf (strCpf.substring(nCount -1, nCount)).intValue();

         //multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 e assim por diante.
         d1 = d1 + ( 11 - nCount ) * digitoCPF;

         //para o segundo digito repita o procedimento incluindo o primeiro digito calculado no passo anterior.
         d2 = d2 + ( 12 - nCount ) * digitoCPF;
      };

      //Primeiro resto da divisão por 11.
      resto = (d1 % 11);

      //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
      if (resto < 2)
         digito1 = 0;
      else
         digito1 = 11 - resto;

      d2 += 2 * digito1;

      //Segundo resto da divisão por 11.
      resto = (d2 % 11);

      //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.
      if (resto < 2)
         digito2 = 0;
      else
         digito2 = 11 - resto;

      //Digito verificador do CPF que está sendo validado.
      String nDigVerific = strCpf.substring (strCpf.length()-2, strCpf.length());

      //Concatenando o primeiro resto com o segundo.
      nDigResult = String.valueOf(digito1) + String.valueOf(digito2);

      //comparar o digito verificador do cpf com o primeiro resto + o segundo resto.
      return nDigVerific.equals(nDigResult);
   }

   /* Use este trecho para testar a classe
   public static void main(String[] args) {
      System.out.println( CPF("04624193806") );
   }
   */
}

Ordenação de vetores com letras do alfabeto

Reconhecedor de palavras

Script para cálculo de distâncias na superfície terrestre utilizando coordenadas geográficas

Simples applet para determinar invertido do digitado

Matemática discreta

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.