MauF Postado Outubro 14, 2004 Denunciar Share Postado Outubro 14, 2004 alguém tem algum validador de CPF porrada ai pra me empresta.....e se não for pedi muito se tiverem um validador de CNPJ eu agradeço...Desde já Valeu.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 14, 2004 Denunciar Share Postado Outubro 14, 2004 o que tu quer dizer com "validador de CPF porrada"?Os que tem aqui no forum não serve?AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 14, 2004 Autor Denunciar Share Postado Outubro 14, 2004 Desculpa a expressão mas eu não não quis dizer isso, tanto é que andei dando uma pesquisada mas não achei nenhum...... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 14, 2004 Denunciar Share Postado Outubro 14, 2004 Então tu não procurou no SB Cara eu procurei e deu 3 páginas...Dá uma olhada nesse link...http://scriptbrasil.com.br/forum/index.php?showtopic=33059AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 14, 2004 Autor Denunciar Share Postado Outubro 14, 2004 Valeu velho....Agora eu colo esse codigo no<HEAD>e no formulario e no campo de do cpf eu boto o que Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 15, 2004 Denunciar Share Postado Outubro 15, 2004 é só tu chamar a função do cpfIsCPFValid(FormName, ElemName, ElemCaption) passando o nome do form, o nome do campo e a descrição do campo se der erro.AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 15, 2004 Autor Denunciar Share Postado Outubro 15, 2004 Olha só esse codigo eu boto aqui<head> <script Language = "JavaScript"> <!------------- Begin // ----------------------------------------------------------------- // Funcao : IsCPFValid // Linguagem : JavaScript // Descricao : Verifica a validade de um CPF // Copyright : (c) 2000 ADF Consulting - Silvio N Hirashiki // http://www.adfcon.com.br // Para usar este script legalmente, mantenha este cabecalho // ----------------------------------------------------------------- // Ver Data Descricao da alteracao // --- ---------- -------------------------------------------------- // 1.0 2000/04/27 Original // // ----------------------------------------------------------------- function IsCPFValid(FormName, ElemName, ElemCaption){ document.forms[FormName].elements[ElemName].value = formatDoc(FormName, ElemName, 'cpf', 'banco'); var ok = 'sim'; var ParteString; var Mensagem; var CampoTeste = document.forms[FormName].elements[ElemName]; var CampoSemBrancos; CharValido = '0123456789' //Monta campo sem brancos CampoSemBrancos = ""; for (var i=0; i < CampoTeste.value.length; i++) { if (CampoTeste.value.substring(i, i+1) != ' ') { CampoSemBrancos = CampoSemBrancos + CampoTeste.value.substring(i, i+1); } } //Se campo estiver vazio if (CampoSemBrancos == '') { Mensagem = 'Por favor, preencha o campo ' + ElemCaption alert(Mensagem) CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela"); CampoTeste.select(); CampoTeste.focus() return false; } //Se estiver preenchido, testar os caracteres ParteString = ""; for (var i=0; i < CampoTeste.value.length; i++) { ParteString = "" + CampoTeste.value.substring(i, i+1); if (CharValido.indexOf(ParteString) == "-1") { ok = "não"; } } if (ok == "não") { alert("Caracteres inválidos! Preencha somente com números!"); CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela"); CampoTeste.select(); CampoTeste.focus(); return false; } if (CampoTeste.value.length != 11){ alert("Por Favor, Preencha com 11 números!"); CampoTeste.value = formatDoc(For???? ?A?º?mName, ElemName, "cpf", "tela"); CampoTeste.select(); CampoTeste.focus(); return false; } //Calculo de consistencia do CPF var soma var CPFCalculado var CPFDigito CPFCalculado = CampoTeste.value.substring(0,9); soma = 0; for (var i=0; i < 9; i++) { soma = soma + CPFCalculado.substring(i, i+1) * (10 - i) } CPFDigito = 11 - (soma % 11); if (CPFDigito > 9){ CPFCalculado = CPFCalculado + '0'; } else{ CPFCalculado = CPFCalculado + String(CPFDigito); } soma = 0; for (i=0;i < 10; i++){ soma = soma + CPFCalculado.substring(i, i+1) * (11 - i) } CPFDigito = 11 - (soma % 11); if (CPFDigito > 9){ CPFCalculado = CPFCalculado + '0'; } else{ CPFCalculado = CPFCalculado + String(CPFDigito); } if ( (CampoTeste.value != CPFCalculado) ||(CampoTeste.value == '11111111111') ||(CampoTeste.value == '22222222222') ||(CampoTeste.value == '33333333333') ||(CampoTeste.value == '44444444444') ||(CampoTeste.value == '55555555555') ||(CampoTeste.value == '66666666666') ||(CampoTeste.value == '77777777777') ||(CampoTeste.value == '88888888888') ||(CampoTeste.value == '99999999999') ){ //alert("CPF Inválido! Digite novamente! " + String(CPFCalculado)); alert("CPF Inválido! Digite novamente! "); CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela"); CampoTeste.select(); CampoTeste.focus(); return false; } CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela"); return true; } // End --> </script> </head> e no <BODY> <form method="post" action="../scripts/inc_associado.php" name="form1" enctype="multipart/form-data"> <input type="text" name="cpf" size="12" maxlength="15"> <input type="submit" name="salvar" value="Salvar" class="combo"> </form></BODY> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 15, 2004 Denunciar Share Postado Outubro 15, 2004 tu pode colocar num arquivo separado se quiser pra não ficar essa tripa de código na tua página.acho q é melhor.o teu body tah certo, só falta você chamar a função no campo cpf, no evento onchange, ou onblur ou qualquer outro evento que você queira...AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 15, 2004 Autor Denunciar Share Postado Outubro 15, 2004 No meu input eu chamo a função.... <input type="text" name="cpf" size="12" maxlength="15" onChange="IsCPFValid(FormName, ElemName, ElemCaption)"> mas se eu colocar assim não funciona, eu já tentei botar o onblur mas tambem não funcionou......Cara esses dias tu me deu um validador de DATAS que tu mesmo fez aquele é perfeito...Acho que não cheguei a te agradecer antes, mas muito obrigado me ajudou muito.....esse VAlidador de cpf tem a mesma função do que o teu de data, quanto tu aperta o tab ele faz a verificaçaõ....ou não é assim que funciona...Esse esquema de fazer em arquivio separado é bem interessante...eu faço isso em php, mas em js eu não sei como que faz.....eu não manjo muito de js. VAleu pela ajuda Grande Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 15, 2004 Denunciar Share Postado Outubro 15, 2004 De nada, quando precisar de ajuda é só falar que estaremos aí...Vamos ao teu problema então:Primeiro:para importar um arquivo em javascript utilize essa linha:<script language="JavaScript" src="nome_do_arquivo.js"></script> para você utilizar um arquivo js você precisa coloca-lo na mesma pasta onde está a tua página, ou se você colocar em outra, terá de passar o caminho na propriedade "src". Não sei se fui claro. Segundo: no teu input você está passando os parâmetros errado pra função, por isso não funciona. Faz o seguinte <input type="text" name="cpf" size="12" maxlength="15" onChange="IsCPFValid(this.form, 'cpf', 'cpf')"> O primeiro parâmetro é o nome do form (você deve ter um form para usar essa função <form name="form"></form>) o segundo parâmetro é o nome do campo que contém o cpf, no teu caso, "cpf" e o terceiro é a label que aparece na página (Ex.: selecione o cpf. Esta label é só para mostrar o alert no caso do cara ter informado errado o cpf).Bom acho que é isso.AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 16, 2004 Autor Denunciar Share Postado Outubro 16, 2004 Crystian Valeu pela tu ajuda mas não esta dando certo, não esta checando o o CPF....Não querendo despresar esse código, mas tu não tem um feito por voce, porque os teus sempre funcionam , mas se tu não tiver não esquenta ....Mais uma vez Obrigado pela Ajuda... E desculpa alguma coisa...Abraço.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 16, 2004 Denunciar Share Postado Outubro 16, 2004 MauF, vamos fazer o seguinte, segunda feira quando eu chegar no trabalho eu te mando um código q tenho lá, porque estou em casa e não tenho aqui. Aí te explico direitinho como usar. Só me manda uma mensagem segunda pra mim me lembrar de postar o código pra ti, caso me esqueca.AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 18, 2004 Autor Denunciar Share Postado Outubro 18, 2004 Oi Crystian quando voce tiver um tempinho posta ai pra mim o validador de cpf.....Valeu pela ajuda.Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 18, 2004 Denunciar Share Postado Outubro 18, 2004 /* 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[I] = 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[I] * 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[I] * 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.forms[0].CPF.focus(); //document.forms[0].CPF.value = ''; 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(c){ 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 q à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; } tah ai o código, qualquer coisa posta ae!AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 18, 2004 Autor Denunciar Share Postado Outubro 18, 2004 N o meu inputFica como não é assim né... <input type="text" name="cpf" size="12" maxlength="15" onChange="VerificaCPF(this.form1,'cpf','cpf')">E valeu pelo código, tu ta quebramdo um galhão...Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 18, 2004 Denunciar Share Postado Outubro 18, 2004 Desculpa, me esqueci de te passar a forma de usar...no teu input é só colocar no onchange assim: onchange="VerificaCPF(this.name); FormataCPF(this.name);" A melhor opção não é passar o nome do campo, mas sim o valor q você pode reaproveitar a função sem prender o cara a um campo, se quiser modificar, é só mexer...Acho q é issoAbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 18, 2004 Autor Denunciar Share Postado Outubro 18, 2004 Velho isso mais deificil do que eu pensava, porque que não da certo comigo.....Sere que esses códigos tem alguma coisa contra mim.no Form eu preciso botar alguma coisa.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 18, 2004 Autor Denunciar Share Postado Outubro 18, 2004 Eu preciso checar alguma coisa no form....já quebrei a cabeça mas não to conseguindo fazer funcionar... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 18, 2004 Denunciar Share Postado Outubro 18, 2004 vou te dar um exemplo: <html> <head> <script language="javascript"> 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[I] = 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[I] * 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[I] * 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.forms[0].CPF.focus(); //document.forms[0].CPF.value = ''; 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(c){ 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 q à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; } </script> </head> <body onload="document.form.cpf.focus();"> <form name="form"> <input type="text" name="cpf" onchange="VerificaCPF(this.name); FormataCPF(this.name);"> </form> </body> </html> Desculpa ter q passar duas vezes, mas não tinha testado e agora q testei vi q tava faltando uma função e uma variavel, desculpa.Espero ter te ajudado...AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MauF Postado Outubro 18, 2004 Autor Denunciar Share Postado Outubro 18, 2004 Valeu a principio deu tudo certo, mas qualquer coisa amanha nos se falamos....Eu abro um novo tópico....Muito obrigado pela ajuda tu quebro um galhão...um Abraço.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crystian Postado Outubro 18, 2004 Denunciar Share Postado Outubro 18, 2004 Sempre q precisar pode postar q vou dar um jeito de te ajudar...AbraçoCrystian Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
MauF
alguém tem algum validador de CPF porrada ai pra me empresta.....
e se não for pedi muito se tiverem um validador de CNPJ eu agradeço...
Desde já Valeu....
Link para o comentário
Compartilhar em outros sites
20 respostass 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.