Ae galera…
Abaixo, metodos para checar validação de CNPJ e CPF para quem precisar.
public static boolean getChecaCNPJ( String numeroCNPJ ) {
boolean retorno;
String somenteNumeros;
int soma, digito;
// -> Levantando somente os numeros
somenteNumeros = "";
for (int i = 0; i < numeroCNPJ.length(); i++) {
for (int j = 0; j <= 9; j++)
if ( Integer.toString(j).equals(numeroCNPJ.substring(i,i+1))) {
somenteNumeros += numeroCNPJ.substring(i,i+1);
break;
}
}
// -> CNPJ (14 digitos)
if ( somenteNumeros.length() == 14 ) {
// -> 12 primeiros digitos para apurar os 2 DVs
StringBuffer numerosCalculo = new StringBuffer().append(somenteNumeros.substring(0, 12));
// -> Primeiro digito do DV do CNPJ
soma = 0;
for (int i = 0; i < 4; i++)
soma += ( Integer.parseInt(numerosCalculo.toString().substring( i, i+1 )) * (6-(i+1)) );
for (int i = 0; i < 8; i++)
soma += ( Integer.parseInt(numerosCalculo.toString().substring( i+4, i+5 )) * (10-(i+1)) );
digito = ( 11 - ( soma % 11 ) );
if ( digito >= 10 )
numerosCalculo.append("0");
else
numerosCalculo.append(Integer.toString(digito));
// -> Segundo digito do DV do CNPJ
soma = 0;
for (int i = 0; i < 5; i++)
soma += ( Integer.parseInt(numerosCalculo.toString().substring( i, i+1 )) * (7-(i+1)) );
for (int i = 0; i < 8; i++)
soma += ( Integer.parseInt(numerosCalculo.toString().substring( i+5, i+6 )) * (10-(i+1)) );
digito = ( 11 - ( soma % 11 ) );
if ( digito >= 10 )
numerosCalculo.append("0");
else
numerosCalculo.append(Integer.toString(digito));
// -> Retorno
retorno = ( somenteNumeros.equals( numerosCalculo.toString() ) );
} else
retorno = false;
return retorno;
}
public static boolean getChecaCPF( String numeroCPF ) {
boolean retorno;
String somenteNumeros;
int soma1, soma2;
int dig1, dig2, dig3, dig4, dig5, dig6, dig7, dig8, dig9, dig10, dig11;
// -> Levantando somente os numeros
somenteNumeros = "";
for (int i = 0; i < numeroCPF.length(); i++) {
for (int j = 0; j <= 9; j++)
if ( Integer.toString(j).equals(numeroCPF.substring(i,i+1))) {
somenteNumeros += numeroCPF.substring(i,i+1);
break;
}
}
// -> CPF (11 digitos)
if ( somenteNumeros.length() == 11 ) {
dig1 = Integer.parseInt(somenteNumeros.substring(0, 1));
dig2 = Integer.parseInt(somenteNumeros.substring(1, 2));
dig3 = Integer.parseInt(somenteNumeros.substring(2, 3));
dig4 = Integer.parseInt(somenteNumeros.substring(3, 4));
dig5 = Integer.parseInt(somenteNumeros.substring(4, 5));
dig6 = Integer.parseInt(somenteNumeros.substring(5, 6));
dig7 = Integer.parseInt(somenteNumeros.substring(6, 7));
dig8 = Integer.parseInt(somenteNumeros.substring(7, 8));
dig9 = Integer.parseInt(somenteNumeros.substring(8, 9));
dig10 = Integer.parseInt(somenteNumeros.substring(9, 10));
dig11 = Integer.parseInt(somenteNumeros.substring(10, 11));
soma1 = 0;
soma1 += ( dig9 * 2 );
soma1 += ( dig8 * 3 );
soma1 += ( dig7 * 4 );
soma1 += ( dig6 * 5 );
soma1 += ( dig5 * 6 );
soma1 += ( dig4 * 7 );
soma1 += ( dig3 * 8 );
soma1 += ( dig2 * 9 );
soma1 += ( dig1 * 10 );
soma1 = ( 11 - ( soma1 % 11 ) );
if ( soma1 >= 10 )
soma1 = 0;
soma2 = ( soma1 * 2 );
soma2 += ( dig9 * 3 );
soma2 += ( dig8 * 4 );
soma2 += ( dig7 * 5 );
soma2 += ( dig6 * 6 );
soma2 += ( dig5 * 7 );
soma2 += ( dig4 * 8 );
soma2 += ( dig3 * 9 );
soma2 += ( dig2 * 10 );
soma2 += ( dig1 * 11 );
soma2 = ( 11 - ( soma2 % 11 ) );
if ( soma2 >= 10 )
soma2 = 0;
// -> Retorno
retorno = ( ( soma1 == dig10 ) &&
( soma2 == dig11 ) );
} else
retorno = false;
return retorno;
}
Boa sorte!