Ir para conteúdo
Fórum Script Brasil
  • 0

Focus();


mestre fyoda

Pergunta

var msgCPF = "no";

/*

Validação do CPF através do módulo 11

*/

//função que verifica a veracidade do CPF

function VerificaCPF(nome) {

var CPF = getValue(nome); // Recebe o valor digitado no campo

// Verifica se o campo é nulo

if (CPF == '') {

return false;

}

CPF = Limp(CPF);

total = CPF.length;

for(t=0; t < 10; t++){

cont = 0;

for(a=0; a < total; a++){

if(CPF.substring(a,a+1)==(t+'')){

cont++;

if(cont == 11){alert('CPF inválido.'); return false;}

}

}

}

// Aqui começa a checagem do CPF

var POSICAO, I, SOMA, DV, DV_INFORMADO;

var DIGITO = new Array(10);

DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado

// Desemembra o número do CPF na array DIGITO

for (I=0; I<=8; I++) {

DIGITO = CPF.substr( I, 1);

}

// Calcula o valor do 10º dígito da verificação

POSICAO = 10;

SOMA = 0;

for (I=0; I<=8; I++) {

SOMA = SOMA + DIGITO * POSICAO;

POSICAO = POSICAO - 1;

}

DIGITO[9] = SOMA % 11;

if (DIGITO[9] < 2) { DIGITO[9] = 0; }

else{ DIGITO[9] = 11 - DIGITO[9]; }

// Calcula o valor do 11º dígito da verificação

POSICAO = 11;

SOMA = 0;

for (I=0; I<=9; I++) {

SOMA = SOMA + DIGITO * POSICAO;

POSICAO = POSICAO - 1;

}

DIGITO[10] = SOMA % 11;

if (DIGITO[10] < 2) { DIGITO[10] = 0; }

else { DIGITO[10] = 11 - DIGITO[10]; }

// Verifica se os valores dos dígitos verificadores conferem

DV = DIGITO[9] * 10 + DIGITO[10];

if (DV != DV_INFORMADO) {

if(msgCPF == 'no')

alert('CPF inválido');

document.getElementById(nome).value = "";

document.getElementById(nome).focus();

return false;

}

return true;

}

function FormataCPF(nome){

CPF = getValue(nome);

CPF = Limp(CPF);

if(CPF.length == 11){

value = Mascara(CPF, '999.999.999-99');

setValue(nome, value);

msgCPF = 'no';

} else {

if(CPF.length > 0){

erroValue = ('Verifique o CPF digitado, pois estão faltando ou sobrando números.');

msgCPF = 'yes';

} else msgCPF = 'no';

}

}

//função para Limpar e deixar somente os números.

function Limp©{

qtd = c.length;

var v = '';

for (i=0; i < qtd; i++)

for(t=0; t < 10; t++){

if(c.substring(i,i+1) == t && c.substring(i,i+1) != " ") v += c.substring(i,i+1);}

return(v);

}

/*

Funções para pegar o valor, e atribuir um valor ao campo que às chama.

*/

function getValue(nome){

var obj = eval("document.forms[0]."+nome+".value");

return obj;

}

function setValue(nome, valor){

obj = eval("document.forms[0]."+nome);

obj.value = valor;

}

function Mascara(value, mascara){

tmp = mascara;

guarda = value;

cont = 0;

var caracter = new Array();

var position = new Array();

if(tmp.length > 0){

qtd = tmp.length;

for(i=0; i < tmp.length; i++){

tmpValue = tmp.substring(i,i+1);

if(tmpValue != 9){

caracter[cont] = tmpValue;

position[cont] = i;

cont++;

}

}

VALOR = value;

VALOR = Limp(VALOR);

if(VALOR.length == 0){

VALOR = '';

} else {

var value = '';

value += VALOR.substring(0,position[0])+caracter[0];

car = caracter.length;

for(j=1; j < car; j++)

value += VALOR.substring(position[j-1]-(j-1),position[j]-j)+caracter[j];

value += VALOR.substring(position[car-1]-(car-1), qtd);

VALOR = value;

}

return value;

}

return guarda;

}

<form name="cadastrar_cliente_fisico" id="cadastrar_cliente_fisico" action="cadastrar_cliente.php" method="POST">

<input type="text" id="cpf" name="cpf" onkeypress="return txtBoxFormat(document.cadastrar_cliente_fisico, 'cpf', '999.999.999-99', event);" onchange="VerificaCPF(this.name);">

</form>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

é o seguinte, mestre fyoda

Quando você for postar um código aqui :

1) use as tags CODE ao invés da tag QUOTE.

2) Faça identação (alinhamento) do código

Dê uma olhada na funcao Limp.

você fez a chamada: CPF = Limp(CPF);

E o código da mesma função não tem parênteses e, muito menos, parâmetros (argumentos)

//função para Limpar e deixar somente os números.
function Limp©{
  qtd = c.length;
  var v = '';
  for (i=0; i < qtd; i++)
     for(t=0; t < 10; t++)
     {
         if(c.substring(i,i+1) == t && c.substring(i,i+1) != " ") v += c.substring(i,i+1);
     }
  return(v);
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...