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

A batalha por uma SafeKid (Unicamp)

Figura 1 - Cadeira Safekid (Unicamp) Nas consultas usando a ferramenta de busca do Google obtive os seguintes link para a tal cadeira. 1- http://revistacrescer.globo.com/Crescer/0,19125,EFC1010380-2213-2,00.html 2- http://www.ibiubi.com.br/produtos/cadeira-cinto-de-seguran%c3%a7a-safekid-projetado-pela-unicamp+beb%c3%aas-e-crian%c3%a7as+cadeiras/IUID4138740/ 3- http://compras.hsw.uol.com.br/assento-infantil-guia.htm 4- http://produto.mercadolivre.com.br/MLB-123086053-cadeiracinto-de-seguranca-safekid-projetado-pela-unicamp-_JM a própria! só que venda finalizada. Foi então que resolvi procurar no Bing (Microsoft) www.bing.com. Também não encontrei! Rs Encontrei algumas parecidas a preços imbatíveis, mas fora do país. 1- http://www.magazineluiza.com.br/produto/index_Produto.asp?Produto=1766074&linha=BB&Setor=CADA&modelo=08 2- http://www.precomania.com/search_attrib.php/page_id=1990/st=page/page=1 Mas foi no Yahoo buscas que eu encontrei a dita cuja. Quero dizer, um possível ...

Driver para Receptor de TV Digital da Multilaser RE003

Email recebido da central de atendimento da Multilaser para resolver problema de funcionamento do receptor digital em Windows 7. --------------------------------------------------------------------------------- Prezado(a) Cliente, Primeiramente pedimos desculpas por quaisquer transtornos causados. Segue anexo manual passo a passo para a instalação do RE003. Conseguimos desenvolver um novo software para o aparelho, pois o enviado no cd não estava conseguindo localizar canais. Peço a gentileza de seguir o passo a passo e me informar se conseguiu utilizar o produto. Os drivers que irá precisar estão disponíveis no link http://tinyurl.com/j3w3svn Os drivers que irá precisar estão disponíveis no link  http://tinyurl.com/j3w3svn Os drivers que irá precisar estão disponíveis no link  http://tinyurl.com/j3w3svn Instale os drivers e o software Presto! Serial: EVALUATION

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.