scripts-geradores

Propaganda
/*
Função que gera um número de CPF válido
*/
function gerarCPF() {
var iniciais = "";//contém os 9 primeiros números do cpf
var numero;//número gerado randomicamente
var primDig, segDig;//recebem o primeiro e o segundo digitos calculados
var soma = 0, peso = 10; //utilizados nos calculos dos digitos verificadores
var num; //receberá o valor contido em iniciais
//gera randomicamente os 9 primeiros números do cpf
for (i = 0; i < 9; i++) {
numero = Math.round(Math.random() * 10);
if(numero > 9)//pois o número deve ser de 0 a 9
numero = 9;
iniciais += numero.toString();
}
//armazena em num o valor de iniciais
num = iniciais;
for (i = 0; i < iniciais.length; i++)
soma += StrToInt(num.substring(i, i + 1)) * peso--;
if (soma % 11 == 0 | soma % 11 == 1)
primDig = 0;
else
primDig = 11 - (soma % 11);
soma = 0;
peso = 11;
for (i = 0; i < num.length; i++)
soma += StrToInt(num.substring(i, i + 1)) * peso--;
soma += primDig * 2;
if (soma % 11 == 0 | soma % 11 == 1)
segDig = 0;
else
segDig = 11 - (soma % 11);
//retorna o cpf gerado
return iniciais+primDig+segDig;
}
/*
Função que gera um número de CNPJ válido
*/
function gerarCNPJ(){
var iniciais = "";//contém os 8 primeiros números do cnpj
var numero;//número gerado randomicamente
var primDig, segDig;//recebem o primeiro e o segundo digitos calculados
var num; //receberá o valor contido em iniciais
var intRestoDivisao; //recebe o resto de uma divisão
//gera randomicamente os 8 primeiros números do cnpj
for (i = 0; i < 8; i++) {
numero = Math.round(Math.random() * 10);
if(numero > 9)//pois o número deve ser de 0 a 9
numero = 9;
iniciais += numero.toString();
}
iniciais +="0001";
//armazena em num o valor de iniciais
num = iniciais;
//5 4 3 2 9 8 7 6 5 4 3
// calculando o primeiro dígito:
soma = 0;
soma += 5 * StrToInt((num.substring(0, 1)));
soma += 4 * StrToInt((num.substring(1, 2)));
soma += 3 * StrToInt((num.substring(2, 3)));
soma += 2 * StrToInt((num.substring(3, 4)));
soma += 9 * StrToInt((num.substring(4, 5)));
soma += 8 * StrToInt((num.substring(5, 6)));
soma += 7 * StrToInt((num.substring(6, 7)));
soma += 6 * StrToInt((num.substring(7, 8)));
soma += 5 * StrToInt((num.substring(8, 9)));
soma += 4 * StrToInt((num.substring(9, 10)));
soma += 3 * StrToInt((num.substring(10, 11)));
soma += 2 * StrToInt((num.substring(11, 12)));
2
intRestoDivisao = soma % 11;
//Caso o resto da divisão seja menor que 2,
//o nosso primeiro dígito verificador se torna 0 (zero),
//caso contrário subtrai-se o valor obtido de 11
if(intRestoDivisao<2){
primDig = 0;
}else{
primDig = 11-intRestoDivisao;
}
//6 5 4 3 2 9 8 7 6 5
// calculando o segundo dígito:
soma = 0;
soma += 6 * StrToInt((num.substring(0, 1)));
soma += 5 * StrToInt((num.substring(1, 2)));
soma += 4 * StrToInt((num.substring(2, 3)));
soma += 3 * StrToInt((num.substring(3, 4)));
soma += 2 * StrToInt((num.substring(4, 5)));
soma += 9 * StrToInt((num.substring(5, 6)));
soma += 8 * StrToInt((num.substring(6, 7)));
soma += 7 * StrToInt((num.substring(7, 8)));
4
3
2
soma += 6 * StrToInt((num.substring(8, 9)));
soma += 5 * StrToInt((num.substring(9, 10)));
soma += 4 * StrToInt((num.substring(10, 11)));
soma += 3 * StrToInt((num.substring(11, 12)));
soma += 2 * primDig;
intRestoDivisao = soma % 11;
//Caso o resto da divisão seja menor que 2,
//o nosso primeiro dígito verificador se torna 0 (zero),
//caso contrário subtrai-se o valor obtido de 11
if(intRestoDivisao<2){
segDig = 0;
}else{
segDig = 11-intRestoDivisao;
}
//retorna o cnpj gerado
return iniciais+primDig+segDig;
}
Download