CPF e CGC/CNPJ

Alguem tem ou pode me indicar onde conseguir os codigos JAVA ou C++ para verificação de CGC e CPF (não vale script). URGENTÍSSIMO!!!
Valeu
Luciana

Manda teu e-mail pra mim q eu te mando o código.

Fiz uma classe para validar CGC e tenho um módulo de CPF em Visual Basic, só que ainda não transformei em Java.
Vou te passar o de CGC, se vc quiser o de CPF em VB me avisa…

Essa é uma rotina que eu criei para eu acessar em qualquer programa…

public class Validacoes {
	
	public boolean CGC(String valor) {
		String j;
		if (valor.length() != 14) {
			return false;
		}
		
		j = calculos(valor.substring(0, 12));
		if (Integer.valueOf(j).intValue() != Integer.valueOf(valor.substring(12, 13)).intValue()) {
			return false;
		}
		
		j = calculos(valor.substring(0, 13));
		if (Integer.valueOf(j).intValue() != Integer.valueOf(valor.substring(13, 14)).intValue()) {
			return false;
		}
		
		return true;
	}

	private String calculos(String numero) {
		int i, valor, produto = 0, multiplicador, digito = 0, divisao;
		
		multiplicador = 2;
		for (i = numero.length(); i > 1; i --) {
			valor = Integer.valueOf(numero.substring(i - 1, i)).intValue();
			produto = produto + (valor * multiplicador); 
			if (multiplicador == 9) {
				multiplicador = 2;
			} else {
				multiplicador = multiplicador + 1;
			}
		}
		divisao = produto % 11;
		digito = 11 - divisao;
		if (digito == 10 || digito == 11) {
			digito = 0;
		}
		
		return String.valueOf(digito).toString();
	}

Esse é a classe que eu chamo dos meus programas…

	private boolean validaCampos(OutputStream lg, String td, String nome, String c, String cid, String codCli) {
		Validacoes valida = new Validacoes();

			if (!valida.CGC(c.toString().trim())) {
				gravaLog(lg, "O campo CGC esta inválido ! Favor Verificar.
");
				return false;
			} 

Até.

ola Frank…

vc poderia me passar o codigo q valida CPF??

valew

rafaelbarioni@ig.com.br

O código para validar CPF esta em Visual Basic, não sei se você vai sentir dificuldade para transformá-lo em Java.
Qualquer coisa, eu estou fazendo um projeto aqui na empresa e assim que eu tiver um tempo livre eu irei transformar este código para Java.
Lá vai o código…

/* Função para validar CPF
	' Válida o CPF
	Public Function ValidaCPF(Cpf As String) As Boolean
	 'Obs. Os parametros devem ser passados sem nenhuma pontuação!
	'Dim WdigitoDoCPF
	Dim wSomaDosProdutos
	Dim wResto
	Dim wDigitChk1
	Dim wDigitChk2
	Dim wStatus
	Dim wI
	wSomaDosProdutos = 0
	For wI = 1 To 9
	    wSomaDosProdutos = wSomaDosProdutos + Val(Mid(Cpf, wI, 1)) * (11 - wI)
	Next wI
	wResto = wSomaDosProdutos - Int(wSomaDosProdutos / 11) * 11
	wDigitChk1 = IIf(wResto = 0 Or wResto = 1, 0, 11 - wResto)
	
	wSomaDosProdutos = 0
	For wI = 1 To 9
	    wSomaDosProdutos = wSomaDosProdutos + (Val(Mid(Cpf, wI, 1)) * (12 - wI))
	Next wI
	wSomaDosProdutos = wSomaDosProdutos + (2 * wDigitChk1)
	wResto = wSomaDosProdutos - Int(wSomaDosProdutos / 11) * 11
	wDigitChk2 = IIf(wResto = 0 Or wResto = 1, 0, 11 - wResto)
	
	If Mid(Cpf, 10, 1) = Mid(Trim(Str(wDigitChk1)), 1, 1) And Mid(Cpf, 11, 1) = Mid(Trim(Str(wDigitChk2)), 1, 1) Then
	    ValidaCPF = True
	Else
	    ValidaCPF = False
	End If
	
	End Function
*/

Falow e boa sorte!

Frank,

Por gentileza manda para luciana_go@ig.com.br

Valeu

Luciana

No JSPBrasil há um conjunto de objetos que fazem estas validações para você. Procure lá: http://jspbrasil.com.br

é esse o código:

public class CPFCNPJ
{
private String number;
private int typenumber; // 1 - CPF 2 - CNPJ
private String message;

public CPFCNPJ() { }

public void setNumber(String number) {
    this.number = number;
}

public void setTypenumber(int type) {
    typenumber = type;
}

public int getTypenumber() {
    return typenumber;
}

public boolean isValid() {
    int soma = 0;
    
    message = "";
    try {
        Long.parseLong(number);
    } catch (Exception e) {
        message = "Somente numeros são permitidos";
        return false;
    }
    
    if (typenumber == 1) {            // CPF
        if(number.length() == 11) {
            for (int i=0; i < 9; i++)
                
                soma += (10 - i) * (number.charAt(i) - '0');
            soma = 11 - (soma % 11);
            if (soma > 9) soma = 0;
            if (soma == (number.charAt(9) - '0')) {
                soma = 0;
                for (int i=0; i < 10; i++)
                    soma += (11 - i) * (number.charAt(i) - '0');
                soma = 11 - (soma % 11);
                if (soma > 9) soma = 0;
                if (soma == (number.charAt(10) - '0')) {
                    message = "CPF Válido";
                    return true;
                }
            }
        }
        message = "CPF Inválido";
    }
    else if (typenumber == 2) {            // CNPJ
        if(number.length() == 14) {
            for (int i=0, j = 5; i < 12; i++) {
                soma += j-- * (number.charAt(i) - '0');
                if (j < 2) j = 9;
            }
            soma = 11 - (soma % 11);
            if (soma > 9) soma = 0;
            if (soma == (number.charAt(12) - '0')) {
                soma = 0;
                for (int i=0, j = 6; i < 13; i++) {
                    soma += j-- * (number.charAt(i) - '0');
                    if (j < 2) j = 9;
                }
                soma = 11 - (soma % 11);
                if (soma > 9) soma = 0;
                if (soma == (number.charAt(13) - '0')) {
                    message = "CNPJ Válido";
                    return true;
                }
            }
        }
        message = "CNPJ Inválido";
    }
    
    return false;
}

public String getMessage() {
    return message;
}

}//fonte:www.jspbrasil.com.br -Ótimo site!!!