1234567891011121314151617181920212223242526272829 | public class ValidaCPFCNPJ { private static final int[] pesoCPF = {11, 10, 9, 8, 7, 6, 5, 4, 3, 2}; private static final int[] pesoCNPJ = {6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2}; private static int calcularDigito(String str, int[] peso) { int soma = 0; for (int indice=str.length()-1, digito; indice >= 0; indice-- ) { digito = Integer.parseInt(str.substring(indice,indice+1)); soma += digito*peso[peso.length-str.length()+indice]; } soma = 11 - soma % 11; return soma > 9 ? 0 : soma; } public static boolean isValidCPF(String cpf) { if ((cpf==null) || (cpf.length()!=11)) return false; Integer digito1 = calcularDigito(cpf.substring(0,9), pesoCPF); Integer digito2 = calcularDigito(cpf.substring(0,9) + digito1, pesoCPF); return cpf.equals(cpf.substring(0,9) + digito1.toString() + digito2.toString()); } public static boolean isValidCNPJ(String cnpj) { if ((cnpj==null)||(cnpj.length()!=14)) return false; Integer digito1 = calcularDigito(cnpj.substring(0,12), pesoCNPJ); Integer digito2 = calcularDigito(cnpj.substring(0,12) + digito1, pesoCNPJ); return cnpj.equals(cnpj.substring(0,12) + digito1.toString() + digito2.toString()); } public static void main(String[] args) { System.out.printf("CPF Valido:%s \n", isValidCPF("01115375502")); System.out.printf("CNPJ Valido:%s \n", isValidCNPJ("13642634756318")); }} |
123456789101112131415161718192021222324 | public class ValidaCPF { private static final int[] pesoCPF = {11, 10, 9, 8, 7, 6, 5, 4, 3, 2}; private static int calcularDigito(String str, int[] peso) { int soma = 0; for (int indice=str.length()-1, digito; indice >= 0; indice-- ) { digito = Integer.parseInt(str.substring(indice,indice+1)); soma += digito*peso[peso.length-str.length()+indice]; } soma = 11 - soma % 11; return soma > 9 ? 0 : soma; } public static boolean isValidCPF(String cpf) { if ((cpf==null) || (cpf.length()!=11)) return false; Integer digito1 = calcularDigito(cpf.substring(0,9), pesoCPF); Integer digito2 = calcularDigito(cpf.substring(0,9) + digito1, pesoCPF); return cpf.equals(cpf.substring(0,9) + digito1.toString() + digito2.toString()); } public static void main(String[] args) { System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("622.673.390-05")); //válido System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("871.790.960-08")); //válido System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("871.790.100-08")); //inválido System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("999.999.999-99")); //inválido }} |
123456789101112131415161718192021222324252627282930 | public class ValidaCPF { private static final int[] pesoCPF = {11, 10, 9, 8, 7, 6, 5, 4, 3, 2}; private static int calcularDigito(String str, int[] peso) { int soma = 0; for (int indice=str.length()-1, digito; indice >= 0; indice-- ) { digito = Integer.parseInt(str.substring(indice,indice+1)); soma += digito*peso[peso.length-str.length()+indice]; } soma = 11 - soma % 11; return soma > 9 ? 0 : soma; } public static boolean isValidCPF(String cpf) { cpf=cpf.replaceAll("\\D",""); if ((cpf==null) || (cpf.length()!=11) || cpf.equals("00000000000") || cpf.equals("11111111111") || cpf.equals("22222222222") || cpf.equals("33333333333") || cpf.equals("44444444444") || cpf.equals("55555555555") || cpf.equals("66666666666") || cpf.equals("77777777777") || cpf.equals("88888888888") || cpf.equals("99999999999")) return false; Integer digito1 = calcularDigito(cpf.substring(0,9), pesoCPF); Integer digito2 = calcularDigito(cpf.substring(0,9) + digito1, pesoCPF); return cpf.equals(cpf.substring(0,9) + digito1.toString() + digito2.toString()); } public static void main(String[] args) { System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("622.673.390-05")); //válido System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("871.790.960-08")); //válido System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("871.790.100-08")); //inválido System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("999.999.999-99")); //inválido }} |
1234567891011121314151617181920212223242526272829 | public class ValidaCPF { private static int calcularDigito(String str) { int soma = 0; for (int indice=str.length()-1, digito; indice >= 0; indice-- ) { digito = Integer.parseInt(str.substring(indice,indice+1)); soma += digito*(str.length()+1-indice); } soma = 11 - soma % 11; return soma > 9 ? 0 : soma; } public static boolean isValidCPF(String cpf) { cpf=cpf.replaceAll("\\D",""); if ((cpf==null) || (cpf.length()!=11) || cpf.equals("00000000000") || cpf.equals("11111111111") || cpf.equals("22222222222") || cpf.equals("33333333333") || cpf.equals("44444444444") || cpf.equals("55555555555") || cpf.equals("66666666666") || cpf.equals("77777777777") || cpf.equals("88888888888") || cpf.equals("99999999999")) return false; Integer digito1 = calcularDigito(cpf.substring(0,9)); Integer digito2 = calcularDigito(cpf.substring(0,9) + digito1); return cpf.equals(cpf.substring(0,9) + digito1.toString() + digito2.toString()); } public static void main(String[] args) { System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("622.673.390-05")); //válido System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("871.790.960-08")); //válido System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("871.790.100-08")); //inválido System.out.printf("CPF Valido:%s \n", CNP.isValidCPF("999.999.999-99")); //inválido }} |