CPF

No velho estilo Ctrl+c Ctrl+v, na cara dura mesmo, vou copiar uma classe que pode ser útil. Uma classe para validar CPF. Ela faz todo o calculo dos dígitos verificadores para comparar com o do cpf passado.

Classe retirado desse exemplo do JavaFree.org. Só dei uma limpada na classe pra ela só verificar se o cpf é válido.

public abstract class Cpf {

    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();
    } 

    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));
    } 

}

0 comentários: