Pular para o conteúdo principal

Gerador de CPF e CNPJ com formatação.

Em muitos dos sistemas que desenvolvemos dificilmente deixamos de criarr um campo de CNPJ ou CPF em alguma telinha do sistema. E na hora de testa a funcionalidade do formulário que tem tal campo, onde arrumar tal dados para efetuar o teste? Usando sempre o mesmo CPF, ou sair na sala pegando o CPF de cada um para fazer os teste? Depende,né?!! Se o sistema permitir o cadastro do mesmo cpf 1000 vezes, beleza! Caso contrário, vamos precisar de um gerados de CPF/CNPJ para facilitar nossa vida.
Pensando nisso, resolvi disponibilizar o gerador que uso a bastante tempo e já me quebrou o galho até para outras coisas. :) deixa pra lá. hehe...

Abaixo segue o código do gerador. Basta copiar e salvar em um arquivo .html observando os comentários de criação das tags do documento HTML.

<thtml>
<head>
<title>Gerador de CPF e CNPJ Válidos. Para teste de Programas</title>
<script language="JavaScript">


var comPontos;

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));
}

function cpf()
{
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) retorno = ''+n1+n2+n3+'.'+n4+n5+n6+'.'+n7+n8+n9+'-'+d1+d2;
else retorno = ''+n1+n2+n3+n4+n5+n6+n7+n8+n9+d1+d2;
return retorno;
}

function cnpj()
{
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) retorno = ''+n1+n2+'.'+n3+n4+n5+'.'+n6+n7+n8+'/'+n9+n10+n11+n12+'-'+d1+d2;
else retorno = ''+n1+n2+n3+n4+n5+n6+n7+n8+n9+n10+n11+n12+d1+d2;
return retorno;
}

function faz()
{
if (document.form1.tipo[0].checked)
document.form1.numero.value = cpf();
else
document.form1.numero.value = cnpj();

document.form1.txtGerados.value = document.form1.numero.value + "\n" +document.form1.txtGerados.value ;

copiar();
}

function pontuacao()
{
if (document.form1.cbPontos.checked)
comPontos = true;
else
comPontos = false;
}

function copiar()
{
document.form1.numero.select();
el = document.form1.numero;
txt=el.createTextRange();
txt.execCommand("Copy");
window.status='Selected and copied to clipboard!'

//var obj = window.opener
//obj.document.forms[0].txtCpf.value = document.form1.numero.value;
//window.close();
}
</script>
</head>
<body bgcolor="#ffffff" topmargin="0" onload="pontuacao()">
<center>
 <table border="0" cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE: collapse" bordercolor="#111111"
width="100%" id="AutoNumber1">
<tr>
<td width="28%">
<td width="38%">
<td width="34%">
 </td>
</tr>
<tr>
<td width="100%" colspan="3">
 </td>
</tr>
<tr>
<td width="100%" colspan="3"
</td>
</tr>
<tr>
<td width="100%" colspan="3"
<p align="center" </p>
</td>
</tr>
</table>
</center>
<form name="form1" method="post" action="">
<CENTER>
<table width="70%" border="0" cellpadding="0" cellspacing="0" style="BORDER-COLLAPSE: collapse"
bordercolor="#111111">
<tr align="center">
<td colspan="5" bgcolor="#000000">
<font color="#ffffff" size="2" face="Arial"><strong>Gerador de CPF e CNPJ Válidos"></strong></font></td>
</tr>
<tr>
<td align="center" bgcolor="#cccccc"font face="Comic Sans MS"><b><input name="numero" type="text" id="numero" size="20" readonly></b></font>/td>
<td align="center" bgcolor="#cccccc"
<font size="2" face="Comic Sans MS"><b><input id="cbPontos" name="cbPontos" type="checkbox" value="1" checked onclick="pontuacao()"></b>Pontuação></font></td>
<td align="center" bgcolor="#cccccc">
<font size="2" face="Comic Sans MS"><b><input id="rd_cpf" name="tipo" type="radio" value="cpf" checked></b><label> for="rd_cpf"CPF></label></font></td>
<td align="center" bgcolor="#cccccc">
<font size="2" face="Comic Sans MS"><b><input id="rd_cnpj" type="radio" name="tipo" value="cnpj"></b><label><for="rd_cnpj"><CNPJ></label>
</font>
</td>
<td align="center" bgcolor="#cccccc"><font face="Comic Sans MS"><b><input type="button" name="Button" value="Gerar e Copiar" onClick="faz()"><INPUT id="btnCopiar" onclick="copiar();" type="button" value="Copiar" name="btnCopiar"></b></font></td>
</tr>
<tr>
<td>
Gerados:<br>
<textarea cols=58 rows=10 id=txtGerados/textarea>
</td>
</tr>
</table>
<br>
</CENTER>
</form>
</body>
</html>



Obter CPF e CNPJ para testes não vai ser mais um problema.

Até mais

Willon Félix

Comentários

Postagens mais visitadas deste blog

EmguCV DLL Not Found Exception -Unable to find cvextern?

Eu também tive os mesmos problemas. Neste fórum emgucv , não sei por que cvextern.dlldo emgucv 3.4.3 não é possível carregar cvextern (porque não é possível encontrar cvextern), e você permitiu usar o arquivo cvextern.dlldo emgucv 3.4.2 (certifique-se de escolher x64 / x86), copie /bin/Debuge este arquivo é encontrado automaticamente /bin/Debug/x86ou /bin/Debug/x64quando você termina de construir o programa no Visual Studio.  O Erro:  The type initializer for 'Emgu.CV.CvInvoke' threw an exception. : Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)  Para resolver o problema copia a pasta x64 ou x86 para dentro da pasta bin da aplicação. Ou copie os arquivos para dentro da pasta bin da aplicação WCF.

Vagas .Net - Projeto CNSA

Prezados, Estamos selecionando candidados, em forma de cadastro de reserva, para participar do projeto: Cadastro Nacional de Sociedade de Advogados, na Assessoria de Tecnologia da Informação do Conselho Federal da OAB. Basicamente teremos 3 fases: * Avaliação Curricular; * Entrevista Pessoal; * Verificação prática; Outras informações: Vaga: Desenvolvedor .NET. Quantidade: 3. Tempo: 4 meses. Segue abaixo os requisitos que devem ser atendidos pelo candidato: Conhecimentos básicos * Conhecimento avançado em C#; * Conhecimento em ASP.NET 2.0; * ADO.NET 2.0; * SQL SERVER 2005 (DML, stored procedures, MER); * UML (Interpretação de casos de uso, diagrama de atividades, de classe, de sequência); * Experiência em projetos anteriores com ASP.NET e C#; Desejável * LINQ TO SQL; * Conhecimento em JavaScript e padrões Web (XHTML, CSS, etc); * ASP.NET 3.5; * C# 3.0 (LINQ, Propriedade implementadas automaticamente, Métodos de Extensão, Expressão Lamb...

Lista de IPs DNS Oi nos Estados

As vezes quando colocamos um IP fixo para uma máquina na rede, e esta rede tem acesso a internet através da rede da Oi, bem provável que você não conseguirá acessar a internet. Para resolver o problema defina o DNS primário e Secundário nas propriedades da placa de rede. - Protocolo TCP/IP Versão 4 (TCP/IPv4). Segue lista de DNS por estado. RS 201.10.1.2 201.10.120.3 SC 201.10.120.3 201.10.1.2 PR 201.10.120.2 201.10.128.3 GO 201.10.128.3 201.10.120.3 DF 201.10.128.2 201.10.120.2 MS 201.10.128.3 201.10.1.2 MT 201.10.128.2 201.10.120.3 RO/AC 201.10.128.2 201.10.1.2