document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. public class ValidaCpf {          
  2.      
  3.     public ValidaCpf() { }    
  4.      
  5.     public  boolean validacpf(String strCpf){ // formato XXX.XXX.XXX-XX    
  6.          
  7.         if (! strCpf.substring(0,1).equals("")){    
  8.             try{    
  9.                 boolean validado = true;    
  10.                 int     d1, d2;    
  11.                 int     digito1, digito2, resto;    
  12.                 int     digitoCPF;    
  13.                  
  14.                 String  nDigResult;    
  15.                 strCpf = strCpf.replace(\'.\',\' \');    
  16.                 strCpf = strCpf.replace(\'-\',\' \');    
  17.                 strCpf = strCpf.replaceAll(" ","");    
  18.                 d1 = d2 = 0;    
  19.                 digito1 = digito2 = resto = 0;    
  20.                    
  21.                 for (int nCount = 1; nCount < strCpf.length() -1; nCount++) {    
  22.                     digitoCPF = Integer.valueOf(strCpf.substring(nCount -1, nCount)).intValue();    
  23.                        
  24.                     //multiplique a ultima casa por 2 a seguinte por 3 a seguinte por 4 e assim por diante.    
  25.                     d1 = d1 + ( 11 - nCount ) * digitoCPF;    
  26.                        
  27.                     //para o segundo digito repita o procedimento incluindo o primeiro digito calculado no passo anterior.    
  28.                     d2 = d2 + ( 12 - nCount ) * digitoCPF;    
  29.                 }    
  30.                    
  31.                 //Primeiro resto da divisão por 11.    
  32.                 resto = (d1 % 11);    
  33.                    
  34.                 //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.    
  35.                 if (resto < 2)    
  36.                     digito1 = 0;    
  37.                 else    
  38.                     digito1 = 11 - resto;  
  39.                    
  40.                 d2 += 2 * digito1;    
  41.                    
  42.                 //Segundo resto da divisão por 11.    
  43.                 resto = (d2 % 11);    
  44.                    
  45.                 //Se o resultado for 0 ou 1 o digito é 0 caso contrário o digito é 11 menos o resultado anterior.    
  46.                 if (resto < 2)    
  47.                  
  48.                     digito2 = 0;    
  49.                  
  50.                 else    
  51.                     digito2 = 11 - resto;    
  52.                    
  53.                 //Digito verificador do CPF que está sendo validado.    
  54.                 String nDigVerific = strCpf.substring(strCpf.length()-2, strCpf.length());    
  55.                    
  56.                 //Concatenando o primeiro resto com o segundo.    
  57.                 nDigResult = String.valueOf(digito1) + String.valueOf(digito2);    
  58.                    
  59.                 //comparar o digito verificador do cpf com o primeiro resto + o segundo resto.    
  60.                 return nDigVerific.equals(nDigResult);    
  61.                  
  62.             }catch (Exception e){    
  63.                 System.err.println("Erro !"+e);    
  64.                  
  65.                 return false;    
  66.             }    
  67.         }else return false;    
  68.     }    
  69. }    
  70.  
  71.  
  72. Read more: http://javafree.uol.com.br/topic-884185-Validacao-de-CPF.html#ixzz2Be2WE2CS
');