JavaScript
Gerador de CPF, CNPJ válidos para teste
Toda vez que iniciamos um projeto, na maioria das vezes nos deparamos com um “problema” muito comum, que é ficar arrumando números de CPF ou CNPJ válidos para implementar um campo com teste de validação em nosso sistema. É muito comum usarmos o nosso, até mesmo do colega ao lado, mas vamos ser justos, é muito chato ficar toda hora perguntando o número para alguém para tal finalidade e o correto é testarmos vários números para termos certeza que o método está “redondinho”.
Validar o CPF ou CNPJ quando o usuário termina de preencher um campo, hoje em dia é praticamente obrigatório, devido à maioria dos sistemas serem obrigados a emitir Nota Fiscal Eletrônica (NF-e). Se estes dados não forem corretos, você não conseguirá validar sua NF-e.
Portanto, este artigo tem como objetivo auxiliar você nessa aplicação. Lembrando que as utilizações dos dados aqui fornecidos são apenas para testes. Se você usar essa informação como sendo de seu uso pessoal, a responsabilidade do que isso poderá ocasionar é totalmente sua.
Você sabia que é possível identificar o estado que foi emitido o CPF de cada pessoa com apenas um número contido no mesmo? Todos os CPF 's possuem 11 números, o número em negrito destacado em vermelho que antecede o traço final (-) é o que identifica a UF de origem no CPF, como no exemplo:
CPF nº 000.000.008-00, o número destacado significa que esse CPF foi emitido no estado de São Paulo.
Os códigos correspondentes a outros estados brasileiros são:
- Tocantins, Mato Grosso do Sul, Goiás e Distrito Federal;
- Roraima, Amapá, Amazonas, Acre, Rondônia e Pará;
- Piauí, Maranhão e Ceará;
- Rio Grande do Norte, Pernambuco, Alagoas e Paraíba;
- Bahia e Sergipe;
- Minas Gerais;
- Rio de Janeiro e Espírito Santo;
- São Paulo;
- Paraná e Santa Catarina;
- Rio Grande do Sul (leia-se zero e não dez).
Nunca é demais lembrar que o propósito desta apresentação é meramente educativo, sendo de sua inteira responsabilidade o que pretende fazer com essas informações.
Chega de blá, blá, blá e vamos ao código.
Primeiramente iremos criar as funções Javascript, lembrando que pode ser tanto no mesmo arquivo HTML, entre a tag HEAD e dentro da tag SCRIPT, quanto criar um arquivo com extensão .js e colocarmos dentro de uma pasta identificada como tal (js) para melhor organização. Fica o seu critério como irá fazer o uso:
//função para gerar CPF function gerarCPF(field) { var comPontos = false; var n = 9; var n1 = randomiza(n); var n2 = randomiza(n); var n3 = randomiza(n); var n4 = randomiza(n); var n5 = randomiza(n); var n6 = randomiza(n); var n7 = randomiza(n); var n8 = randomiza(n); var n9 = randomiza(n); var d1 = n9*2+n8*3+n7*4+n6*5+n5*6+n4*7+n3*8+n2*9+n1*10; d1 = 11 - ( mod(d1,11) ); if (d1>=10) d1 = 0; var d2 = d1*2+n9*3+n8*4+n7*5+n6*6+n5*7+n4*8+n3*9+n2*10+n1*11; d2 = 11 - ( mod(d2,11) ); if (d2>=10) d2 = 0; retorno = ''; if (comPontos) cpf = ''+n1+n2+n3+'.'+n4+n5+n6+'.'+n7+n8+n9+'-'+d1+d2; else cpf = ''+n1+n2+n3+n4+n5+n6+n7+n8+n9+d1+d2; field.value = cpf; } //função para gerar CNPJ function gerarCNPJ(field) { var comPontos = false; var n = 9; var n1 = randomiza(n); var n2 = randomiza(n); var n3 = randomiza(n); var n4 = randomiza(n); var n5 = randomiza(n); var n6 = randomiza(n); var n7 = randomiza(n); var n8 = randomiza(n); var n9 = 0; //randomiza(n); var n10 = 0; //randomiza(n); var n11 = 0; //randomiza(n); var n12 = 1; //randomiza(n); var d1 = n12*2+n11*3+n10*4+n9*5+n8*6+n7*7+n6*8+n5*9+n4*2+n3*3+n2*4+n1*5; d1 = 11 - ( mod(d1,11) ); if (d1>=10) d1 = 0; var d2 = d1*2+n12*3+n11*4+n10*5+n9*6+n8*7+n7*8+n6*9+n5*2+n4*3+n3*4+n2*5+n1*6; d2 = 11 - ( mod(d2,11) ); if (d2>=10) d2 = 0; retorno = ''; if (comPontos) cnpj = ''+n1+n2+'.'+n3+n4+n5+'.'+n6+n7+n8+'/'+n9+n10+n11+n12+'-'+d1+d2; else cnpj = ''+n1+n2+n3+n4+n5+n6+n7+n8+n9+n10+n11+n12+d1+d2; field.value = cnpj; } function randomiza(n) { var ranNum = Math.round(Math.random()*n); return ranNum; } function mod(dividendo,divisor) { return Math.round(dividendo - (Math.floor(dividendo/divisor)*divisor)); }
Perceba que existe uma variável (var comPontos = false;) usada para fazer os códigos tanto com pontos, como sem eles. No caso este exemplo está false, ou seja, sem pontos.
Agora vamos ao código HTML e como chamar a função acima para preencher os campos com os valores. Crie um novo arquivo, dê um nome da sua preferência e não se esqueça da extensão, que pode ser simplesmente (.html).
<html> <head> <title>Gerador de CPF/CNPJ para desenvolvedores</title> <script src="js/uteis.js" type="text/javascript"></script> </head> <body> <input type="text" name="cnpj" id="cnpj" /> <input type="button" name="geraCNPJ" value="Gerar Novo CNPJ" onclick="gerarCNPJ(document.getElementById('cnpj'));" /> <br/> <br/> <input type="text" name="cpf" id="cpf" /> <input type="button" name="geraCPF" value="Gerar Novo CPF" onclick="gerarCPF(document.getElementById('cpf'));" /> </body> </html>
Pronto, somente com esses passos já é possível gerar um CPF/CNPJ válido para testar em suas aplicações. Faça bom uso deste artigo e bons estudos!
Gigasystems Login:
Informe seu e-mail abaixo para continuar!
XVeja Também:
Artigos Relacionados a categoria: JavaScript
API, Framework ou Biblioteca
08 July de 2015
Criando Gráficos com Chart.js com legenda
22 June de 2015
Combine dados de POST serializados com um Objeto usando jQuery
11 March de 2015
Envio de Formulário com Ajax
03 February de 2015
Olá, deixe seu comentário para Gerador de CPF, CNPJ válidos para teste
Maria de Cássia Ferreira Silveira
Maria de Cássia Ferreira Silveira