Classe Java para a validação de CNPJ
Publicado por Samuel E Nascimento 18/09/2006
[ Hits: 11.793 ]
Código Java de uma classe com os métodos de validação de CNPJ de acordo com as regras da Receita Federal.
public class Cnpj { // 02998301000181 static public boolean CNPJ( String str_cnpj ) { int soma = 0, aux, dig; String cnpj_calc = str_cnpj.substring(0,12); if ( str_cnpj.length() != 14 ) return false; char[] chr_cnpj = str_cnpj.toCharArray(); /* Primeira parte */ for( int i = 0; i < 4; i++ ) if ( chr_cnpj[i]-48 >=0 && chr_cnpj[i]-48 <=9 ) soma += (chr_cnpj[i] - 48) * (6 - (i + 1)) ; for( int i = 0; i < 8; i++ ) if ( chr_cnpj[i+4]-48 >=0 && chr_cnpj[i+4]-48 <=9 ) soma += (chr_cnpj[i+4] - 48) * (10 - (i + 1)) ; dig = 11 - (soma % 11); cnpj_calc += ( dig == 10 || dig == 11 ) ? "0" : Integer.toString(dig); /* Segunda parte */ soma = 0; for ( int i = 0; i < 5; i++ ) if ( chr_cnpj[i]-48 >=0 && chr_cnpj[i]-48 <=9 ) soma += (chr_cnpj[i] - 48) * (7 - (i + 1)) ; for ( int i = 0; i < 8; i++ ) if ( chr_cnpj[i+5]-48 >=0 && chr_cnpj[i+5]-48 <=9 ) soma += (chr_cnpj[i+5] - 48) * (10 - (i + 1)) ; dig = 11 - (soma % 11); cnpj_calc += ( dig == 10 || dig == 11 ) ? "0" : Integer.toString(dig); return str_cnpj.equals(cnpj_calc); } /* Use este trecho para testar a classe public static void main(String[] args) { Validacao v = new Validacao(); System.out.println( CNPJ("02998301000181") ? "OK" : "Incorreto" ); } */ }
Código para validar CPF e CNPJ otimizado
Crivo de Eratóstenes Simples em Java
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta