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
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