Caro Hildebrando, este código foi inserido por por
um usuários do portaljava.com em nosso fórum.
O link está aqui http://www.portaljava.com/home/modules.php?op=modload&name=Forum&file=viewtopic&topic=25&forum=1&2
E o código fonte está aqui :
/*
* CnpjValidator.java * */ package pfe.servlet.aidf.tools;
public class CnpjValidator {
private static String cnpj; /** Creates a new instance of CnpjValidator */ private CnpjValidator() {} public CnpjValidator(String cnpj){ this.cnpj = cnpj; } public boolean isValid() { return validate(); } public static boolean isValid(String cnpj) { return new CnpjValidator(cnpj).isValid(); } private boolean validate() { try { int[] numeros = cleanCnpj(cnpj); try { if(numeros[15] != 0) { System.out.println("Tamanho do cnpj inválido"); return false; } } catch (Exception e){ // Aqui o numero é válido pois o tamanho não é maior que o formal } int soma1 = primeiraSoma(numeros); int resto = soma1 % 11; int digito1 = resto < 2 ? 0 : 11 - resto; int soma2 = segundaSoma(numeros); resto = soma2 % 11; int digito2 = resto < 2 ? 0 : 11 - resto; return ((numeros[12] == digito1) && (numeros[13] == digito2)); } catch (ArrayIndexOutOfBoundsException erro) { System.out.println("Tamanho do cnpj inválido"); } catch (Exception erro) { erro.printStackTrace(); } return false; } private int primeiraSoma(int[] numeros) throws Exception { int soma = (numeros[0] * 5) + (numeros[1] * 4) + (numeros[2] * 3) + (numeros[3] * 2) + (numeros[4] * 9) + (numeros[5] * <IMG SRC="javascript:void(0);"> + (numeros[6] * 7) + (numeros[7] * 6) + (numeros[8] * 5) + (numeros[9] * 4) + (numeros[10] * 3) + (numeros[11] * 2); return soma; } private int segundaSoma(int[] numeros) throws Exception { int soma = (numeros[0] * 6) + (numeros[1] * 5) + (numeros[2] * 4) + (numeros[3] * 3) + (numeros[4] * 2) + (numeros[5] * 9) + (numeros[6] * <IMG SRC="javascript:void(0);"> + (numeros[7] * 7) + (numeros[8] * 6) + (numeros[9] * 5) + (numeros[10] * 4) + (numeros[11] * 3) + (numeros[12] * 2); return soma; } private int[] cleanCnpj(String cnpj) throws Exception { int[] numeros = new int[cnpj.length()]; int j = 0; for(int i = 0; i < cnpj.length(); i++) { char letra = cnpj.charAt(i); if( letra != '.' && letra != '/' && letra != '-') numeros[j++] = Integer.parseInt(String.valueOf(letra)); } return numeros; } } []'s
Dalton
|
- [java-list] Validar CNPJ e CPF Hildebrando Furlan Neto
- Re: [java-list] Validar CNPJ e CPF adler
- RES: [java-list] Validar CNPJ e CPF Cris
- [java-list] jspbrasil cade? pedro
- Re: [java-list] jspbrasil cade? Wagner E. Bidin
- Re: [java-list] jspbrasil cade? Wilder Rodrigues
- Re: [java-list] Validar CNPJ e CPF Dalton
- Re: [java-list] Validar CNPJ e CPF Savio Barros
- Re: [java-list] Validar CNPJ e CPF Hernan Santiago Marinho
- Re: [java-list] Validar CNPJ e CPF Gustavo Marinho