Fórum Validação de CPF #565609
09/04/2009
0
/* ******************************************************
* Código Original:
* Autor: Allan Peron
* ******************************************************
* Modificações feitas para fácil aplicação
*/
package br.com.javafree.wscpf;
public abstract class CPF extends Object {
private static String calcDigVerif(String num) {
Integer primDig, segDig;
int soma = 0, peso = 10;
for (int i = 0; i < num.length(); i++)
soma += Integer.parseInt(num.substring(i, i + 1)) * peso--;
if (soma % 11 == 0 | soma % 11 == 1)
primDig = new Integer(0);
else
primDig = new Integer(11 - (soma % 11));
soma = 0;
peso = 11;
for (int i = 0; i < num.length(); i++)
soma += Integer.parseInt(num.substring(i, i + 1)) * peso--;
soma += primDig.intValue() * 2;
if (soma % 11 == 0 | soma % 11 == 1)
segDig = new Integer(0);
else
segDig = new Integer(11 - (soma % 11));
return primDig.toString() + segDig.toString();
}
private static int calcSegDig(String cpf, int primDig) {
int soma = 0, peso = 11;
for (int i = 0; i < cpf.length(); i++)
soma += Integer.parseInt(cpf.substring(i, i + 1)) * peso--;
soma += primDig * 2;
if (soma % 11 == 0 | soma % 11 == 1)
return 0;
else
return 11 - (soma % 11);
}
public static String geraCPF() {
String iniciais = "";
Integer numero;
for (int i = 0; i < 9; i++) {
numero = new Integer((int) (Math.random() * 10));
iniciais += numero.toString();
}
return iniciais + calcDigVerif(iniciais);
}
public static boolean validaCPF(String cpf) {
if (cpf.length() != 11)
return false;
String numDig = cpf.substring(0, 9);
return calcDigVerif(numDig).equals(cpf.substring(9, 11));
}
}
Dalton
Curtir tópico
+ 0Posts
09/04/2009
Luis Carvalho
Gostei + 0
09/04/2009
Dalton
Gostei + 0
09/04/2009
Renan Ribeiro
Gostei + 0
07/01/2010
Victor Lindberg
Gostei + 0
21/04/2010
Victor Lindberg
public class Validacao {
public boolean calculaCPF(String cpfNum) {
int[] cpf = new int[cpfNum.length()]; //define o valor com o tamanho da string
int resultP = 0;
int resultS = 0;
//converte a string para um array de integer
for (int i = 0; i < cpf.length; i++) {
cpf[i] = Integer.parseInt(cpfNum.substring(i, i + 1));
}
//calcula o primeiro número(DIV) do cpf
for (int i = 0; i < 9; i++) {
resultP += cpf[i] * (i + 1);
}
int divP = resultP % 11;
//se o resultado for diferente ao 10º digito do cpf retorna falso
if (divP != cpf[9]) {
return false;
} else {
//calcula o segundo número(DIV) do cpf
for (int i = 0; i < 10; i++) {
resultS += cpf[i] * (i);
}
int divS = resultS % 11;
//se o resultado for diferente ao 11º digito do cpf retorna falso
if (divS != cpf[10]) {
return false;
}
}
//se tudo estiver ok retorna verdadeiro
return true;
}//fim do calcular cpf ==================================================
public boolean calculaCNPJ(String cnpjNum) {
int[] cnpj = new int[cnpjNum.length()];
int resultP = 0;
int resultS = 0;
int divP = 0;
int divS = 0;
//converte string para um array de integer
for (int i = 0; i < cnpjNum.length(); i++) {
cnpj[i] = Integer.parseInt(cnpjNum.substring(i, i + 1));
}
int j = 6;
//calcula o primeiro div
for (int i = 0; i < 12; i++) {
resultP += cnpj[i] * j;
j++;
if (j > 9) {
j = 2;
}
}
divP = resultP % 11;
if (divP != cnpj[12]) {
return false;
} else {
j = 5;
//calcula o segundo div
for (int i = 0; i < 13; i++) {
resultS += cnpj[i] * j;
j++;
if (j > 9) {
j = 2;
}
}
divS = resultS % 11;
if (divS != cnpj[13])
return false;
}
return true;
}//fim do calcular CNPJ ==================================================
}
Gostei + 0
29/07/2010
Victor Lindberg
public class Validacao {
public boolean calculaCPF(String cpfNum) {
int[] cpf = new int[cpfNum.length()]; //define o valor com o tamanho da string
int resultP = 0;
int resultS = 0;
//converte a string para um array de integer
for (int i = 0; i < cpf.length; i++) {
cpf[i] = Integer.parseInt(cpfNum.substring(i, i + 1));
}
//calcula o primeiro número(DIV) do cpf
for (int i = 0; i < 9; i++) {
resultP += cpf[i] * (i + 1);
}
int divP = resultP % 11;
//se o resultado for diferente ao 10º digito do cpf retorna falso
if (divP != cpf[9]) {
return false;
} else {
//calcula o segundo número(DIV) do cpf
for (int i = 0; i < 10; i++) {
resultS += cpf[i] * (i);
}
int divS = resultS % 11;
//se o resultado for diferente ao 11º digito do cpf retorna falso
if (divS != cpf[10]) {
return false;
}
}
//se tudo estiver ok retorna verdadeiro
return true;
}//fim do calcular cpf ==================================================
public boolean calculaCNPJ(String cnpjNum) {
int[] cnpj = new int[cnpjNum.length()];
int resultP = 0;
int resultS = 0;
int divP = 0;
int divS = 0;
//converte string para um array de integer
for (int i = 0; i < cnpjNum.length(); i++) {
cnpj[i] = Integer.parseInt(cnpjNum.substring(i, i + 1));
}
int j = 6;
//calcula o primeiro div
for (int i = 0; i < 12; i++) {
resultP += cnpj[i] * j;
j++;
if (j > 9) {
j = 2;
}
}
divP = resultP % 11;
if (divP != cnpj[12]) {
return false;
} else {
j = 5;
//calcula o segundo div
for (int i = 0; i < 13; i++) {
resultS += cnpj[i] * j;
j++;
if (j > 9) {
j = 2;
}
}
divS = resultS % 11;
if (divS != cnpj[13])
return false;
}
return true;
}//fim do calcular CNPJ ==================================================
}
Gostei + 0