mestre fyoda Postado Julho 27, 2006 Denunciar Share Postado Julho 27, 2006 var msgCPF = "no";/*Validação do CPF através do módulo 11*///função que verifica a veracidade do CPFfunction VerificaCPF(nome) {var CPF = getValue(nome); // Recebe o valor digitado no campo// Verifica se o campo é nuloif (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 CPFvar 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 DIGITOfor (I=0; I<=8; I++) {DIGITO = CPF.substr( I, 1);}// Calcula o valor do 10º dígito da verificaçãoPOSICAO = 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çãoPOSICAO = 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 conferemDV = 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> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 flavio Postado Julho 27, 2006 Denunciar Share Postado Julho 27, 2006 é o seguinte, mestre fyodaQuando 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ódigoDê 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); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
mestre fyoda
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.