Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save dantetesta/41f762130f61cfdfc5f65d707430f78e to your computer and use it in GitHub Desktop.
Save dantetesta/41f762130f61cfdfc5f65d707430f78e to your computer and use it in GitHub Desktop.
<script>
/* SETUP DOS IDS DO FORM
*
* Insira os ID's CSS de acordo com os campos do seu formulário.
* Desenvolvido por DANTE TESTA
* */
var cnpj='#form-field-cnpj';
var situacao='#form-field-situacao';
var natureza='#form-field-natureza';
var capital='#form-field-capital';
var nome='#form-field-nome';
var fantasia='#form-field-fantasia';
var telefone='#form-field-telefone';
var email='#form-field-email';
var abertura='#form-field-abertura';
var porte='#form-field-porte';
var atividade='#form-field-atividade';
var cnae='#form-field-cnae';
var cep='#form-field-cep';
var rua='#form-field-rua';
var numero='#form-field-numero';
var complemento='#form-field-complemento';
var bairro='#form-field-bairro';
var cidade='#form-field-cidade';
var uf='#form-field-uf';
//-------------------------------------------
/* CODIGO BRUTO */
var $jq = jQuery.noConflict();
$jq(document).ready(function() {
function limpa_formulario() {
// Limpa valores do formulário.
$jq(cnpj).val('');
$jq(situacao).val('');
$jq(natureza).val('');
$jq(capital).val('');
$jq(nome).val('');
$jq(fantasia).val('');
$jq(telefone).val('');
$jq(email).val('');
$jq(abertura).val('');
$jq(porte).val('');
$jq(atividade).val('');
$jq(cnae).val('');
$jq(cep).val('');
$jq(rua).val('');
$jq(numero).val('');
$jq(complemento).val('');
$jq(bairro).val('');
$jq(cidade).val('');
$jq(uf).val('');
}
//Quando o campo CNPJ perde o foco.
$jq(cnpj).blur(function() {
//Nova variável "CNPJ" somente com dígitos.
var cnpj_consultado = $jq(this).val().replace(/\D/g, '');
//Verifica se campo CNPJ possui valor informado.
if (cnpj_consultado !='') {
//Expressão regular para validar o CNPJ.
var validacnpj = /^[0-9]{14}$/;
//Valida o formato do CNPJ.
if(validacnpj.test(cnpj_consultado)) {
//Preenche os campos com "..." enquanto consulta webservice.
$jq(cnpj).val('...');
$jq(situacao).val('...');
$jq(natureza).val('...');
$jq(capital).val('...');
$jq(nome).val('...');
$jq(fantasia).val('...');
$jq(telefone).val('...');
$jq(email).val('...');
$jq(abertura).val('...');
$jq(porte).val('...');
$jq(atividade).val('...');
$jq(cnae).val('...');
$jq(cep).val('...');
$jq(rua).val('...');
$jq(numero).val('...');
$jq(complemento).val('...');
$jq(bairro).val('...');
$jq(cidade).val('...');
$jq(uf).val('...');
//Consulta o webservice receitaws.com.br/
$jq.getJSON('https://www.receitaws.com.br/v1/cnpj/'+ cnpj_consultado +'/?callback=?', function(dados) {
if (!('erro' in dados)) {
//Atualiza os campos com os valores da consulta.
$jq(cnpj).val(dados.cnpj);
$jq(situacao).val(dados.situacao);
$jq(natureza).val(dados.natureza_juridica);
$jq(capital).val('R$' + parseInt(dados.capital_social).toLocaleString());
$jq(nome).val(dados.nome);
$jq(fantasia).val(dados.fantasia);
$jq(telefone).val(dados.telefone);
$jq(email).val(dados.email);
$jq(abertura).val(dados.abertura);
$jq(porte).val(dados.porte);
$jq(atividade).val(dados.atividade_principal[0].text);
$jq(cnae).val(dados.atividade_principal[0].code);
$jq(cep).val(dados.cep);
$jq(rua).val(dados.logradouro);
$jq(numero).val(dados.numero);
$jq(complemento).val(dados.complemento);
$jq(bairro).val(dados.bairro);
$jq(cidade).val(dados.municipio);
$jq(uf).val(dados.uf);
} //end if.
else {
//CNPJ pesquisado não foi encontrado.
limpa_formulario();
alert('CNPJ não encontrado.');
}
});
} //end if.
else {
//CNPJ é inválido.
limpa_formulario();
alert('Formato de CNPJ inválido.');
}
} //end if.
else {
//CNPJ sem valor, limpa formulário.
limpa_formulario();
}
});
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment