hgazza Postado Fevereiro 25, 2010 Denunciar Share Postado Fevereiro 25, 2010 (editado) Eai galera, sou novo aki no forum, e tb na area de programação webeu estou desenvolvendo um projeto de aprendizado né...e tenho q validar os campos pra o usuario não enviar campos numerico com letras...ateh ai beleza, mas quando eu add uma mascara no campo CPF, da conflito nas funções e a função q valida u cpf encara como invalido..ta ai como ta u codigo ateh agora<!-- C L I E N T S I D E S C R I P T I N G CCCCCCC LLL IIIII EEEEEEEEE NNN NNN TTTTTTTTT EEEEEEEEE CCC CCC LLL III EEE NNNN NNN TTT EEE CCC LLL III EEE NNNNN NNN TTT EEE CCC LLL III EEEEEE NNN NNNNN TTT EEEEEE CCC LLL III EEE NNN NNNN TTT EEE CCC CCC LLL LLL III EEE NNN NNN TTT EEE CCCCCCC LLLLLLLLL IIIII EEEEEEEEE NNN NNN TTT EEEEEEEEE --> <html> <head> <title>FORMULÁRIO !!!</title> <style type="text/css"> .Bb { border-bottom:1px solid gray; } .Bt { border-top:1px solid gray; } .Br { border-right:1px solid gray; } .Bl { border-left:1px solid gray; } </style> </head> <script Language="JavaScript"> function ValidaCpf() { var f = fFORM erro = new String; if (f.cpf.value.length == 11) { f.cpf.value = f.cpf.value.replace('.', ''); f.cpf.value = f.cpf.value.replace('.', ''); f.cpf.value = f.cpf.value.replace('-', ''); var nonNumbers = /\D/; if (nonNumbers.test(f.cpf.value)) { erro = "A verificacao de CPF suporta apenas numeros!"; } else { if (f.cpf.value == "00000000000" || f.cpf.value == "11111111111" || f.cpf.value == "22222222222" || f.cpf.value == "33333333333" || f.cpf.value == "44444444444" || f.cpf.value == "55555555555" || f.cpf.value == "66666666666" || f.cpf.value == "77777777777" || f.cpf.value == "88888888888" || f.cpf.value == "99999999999") { erro = "Número de CPF inválido!" } var a = []; var b = new Number; var c = 11; for (i = 0; i < 11; i++) { a[i] = f.cpf.value.charAt(i); if (i < 9) b += (a[i] * --c); } if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11 - x } b = 0; c = 11; for (y = 0; y < 10; y++) b += (a[y] * c--); if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11 - x; } if ((f.cpf.value.charAt(9) != a[9]) || (f.cpf.value.charAt(10) != a[10])) { erro = "Numero de CPF invalido."; } } } else { if (f.cpf.value.length == 0) return false else erro = "Numero de CPF invalido."; } if (erro.length > 0) { alert(erro); f.cpf.focus(); return false; } return true; } function isCpfOK(c) { if (c == "") { return false; } return true; } function isNomeOK(c) { if (c == "") { return false; } return true; } function isEndcOK(c) { if (c == "") { return false; } return true; } function isBrrOK(c) { if (c == "") { return false; } return true; } function isCddOK(c) { if (c == "") { return false; } return true; } function isUfOK(c) { if (c == "") { return false; } return true; } function isCepOK(c) { if (c == "") { return false; } return true; } function isDddOK(c) { if (c == "") { return false; } return true; } function isTelOK(c) { if (c == "") { return false; } return true; } function EnviaForm(f) { if (!isCpfOK(f.cpf.value)) { alert("Preencha o CPF !!!"); f.cpf.focus(); return; } if (!isNomeOK(f.nome.value)) { alert("Preencha o NOME !!!") f.nome.focus(); return; } if (!isEndcOK(f.endc.value)) { alert("Preencha o ENDERECO !!!") f.endc.focus(); return; } if (!isBrrOK(f.brr.value)) { alert("Preencha o BAIRRO !!!") f.brr.focus(); return; } if (!isCddOK(f.cdd.value)) { alert("Preencha a CIDADE !!!") f.cdd.focus(); return; } if (!isUfOK(f.uf.value)) { alert("Preencha a UF !!!") f.uf.focus(); return; } if (!isCepOK(f.cep.value)) { alert("Preencha o CEP !!!") f.cep.focus(); return; } if (!isDddOK(f.ddd.value)) { alert("Preencha o DDD !!!") f.ddd.focus(); return; } if (!isTelOK(f.tel.value)) { alert("Preencha o TELEFONE !!!") f.tel.focus(); return; } f.submit(); } </script> <body> <center> <!-- C A S C A D I N G S T Y L E S H E E T CCCCCCC SSSSSSS SSSSSSS CCC CCC SSS SSS SSS SSS CCC SSS SSS CCC SSSS SSSS CCC SSSS SSSS CCC CCC SSS SSS SSS SSS CCCCCCC SSSSSSS SSSSSSS --> <!-------------------******************** CAMPOS ********************--------------------> <form id="fFORM" name="fFORM" action="formulario_back.asp" method="post"> <table style="font-family:Comic Sans MS" cellSpacing="0" cellpadding="10"> <tr> <td align="center" style="font-family:Comic Sans MS;font-size:20pt" colspan="7">Formula´rio !</td> </tr> <tr> <td class="Bt Bb Bl"> <span> CPF: </span> </td> <td class="Bt Bb Br"><input name="cpf" type="text" maxlength="14" onblur="ValidaCpf(fFORM)"> </td> <td class="Bt Bb"><span> Nome: </span> </td> <td class="Bt Bb Br" colspan="5"><input name="nome" type="text"> </td> </tr> <tr> <td class="Bb Bl"><span> Endereço: </span></td> <td class="Bb Br"><input name="endc" type="text" maxlength="40"></td> <td class="Bb"><span> Complemento: </span> </td> <td class="Bb Br" colspan="5"><input name="compl" type="text"> </td> </tr> <tr> <td class="Bb Bl"><span> Bairro: </span> </td> <td class="Bb Br"><input name="brr" type="text"></td> <td class="Bb"><span> Cidade: </span> </td> <td class="Bb Br"><input name="cdd" type="text"></td> <td class="Bb"><span> UF: </span> </td> <td class="Bb Br"><input name="uf" type="text" size="1"></td> <td class="Bb"><span> Cep: </span> </td> <td class="Bb Br"><input name="cep" type="text" size="8" onblur="tem_num()"></td> </tr> <tr> <td class="Bb Bl"><span> DDD: </span> </td> <td class="Bb Br"><input name="ddd" type="text" size="1" maxlength="3"></td> <td class="Bb"><span> Telefone: </span> </td> <td class="Bb Br" colspan="5"><input name="tel" type="text" size="8" maxlength="9"></td> </tr> <tr> <td align="center" colspan="8"> <a name="bENVIA" href="java script:EnviaForm(fFORM)" title="Envia os dados" onClick="return teste()"> <img src="benviar.gif" width="160" height="60" border="0"></a> </td> </tr> </table> </form> </center> </body> </html> <script language="javascript"> function isNum( c ) { var strValidos = "0123456789" if (strValidos.indexOf(c) == -1) { //coloquei { e } return false; } return true; } function validaTecla(campo, event) { var BACKSPACE = 8; var key; var tecla; CheckTAB=true; if (navigator.appName.indexOf("Netscape") != -1) { // aki tb { } tecla = event.which; } else { //e aki { } tecla = event.keyCode; } key = String.fromCharCode( tecla); //alert( 'key: ' + tecla + ' -> campo: ' + campo.value); if (tecla == 13) { // { } return false; } if (tecla == BACKSPACE) { // return true; } return ( isNum(key)); } </script>é uma pagina bem simples, preciso q alguém me ajude a criar uma função q coloque a mascara sem conflitar com a validaçãonão precisa ser nop textfiel, pod ser uma mascara se só vai ser aplicada no submit, processada nu servidor..alguém pod me ajudar???vlww Editado Fevereiro 25, 2010 por hgazza Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Fevereiro 26, 2010 Denunciar Share Postado Fevereiro 26, 2010 Indico você dar uma olhada nas validações já prontas que tem aqui no forum:http://scriptbrasil.com.br/forum/index.php?showtopic=82408 ou http://scriptbrasil.com.br/forum/index.php?showforum=65 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hgazza Postado Fevereiro 26, 2010 Autor Denunciar Share Postado Fevereiro 26, 2010 Indico você dar uma olhada nas validações já prontas que tem aqui no forum:http://scriptbrasil.com.br/forum/index.php?showtopic=82408 ou http://scriptbrasil.com.br/forum/index.php?showforum=65eu já olhei, já cansei de procurar scripts na internet em diversos sites, mas todos deram conflitos, ou não funcionaram =/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 BadWolf Postado Fevereiro 26, 2010 Denunciar Share Postado Fevereiro 26, 2010 Olá amigo,seu problema não esta na validação do CPF, mais sim no tratamento da função.você colocou uma condição que não trata o cpf quando esta com a mascara.substitue o: " if (f.cpf.value.length == 11) { " por "if (f.cpf.value.length >= 11) {"que vai funcionar!e quatanto a função de formatação é bem simplesfunction formataCPF(CPF){with (CPF) value = value.substr(0, 3) + '.' + value.substr(3, 3) + '.' + value.substr(6, 3) + '-' + value.substr(9, 2);}e coloca no onblur do CPF a chamada:"onblur="ValidaCpf(fFORM);formataCPF(this);" "falow! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hgazza Postado Fevereiro 26, 2010 Autor Denunciar Share Postado Fevereiro 26, 2010 Olá amigo,seu problema não esta na validação do CPF, mais sim no tratamento da função.você colocou uma condição que não trata o cpf quando esta com a mascara.substitue o: " if (f.cpf.value.length == 11) { " por "if (f.cpf.value.length >= 11) {"que vai funcionar!e quatanto a função de formatação é bem simplesfunction formataCPF(CPF){with (CPF) value = value.substr(0, 3) + '.' + value.substr(3, 3) + '.' + value.substr(6, 3) + '-' + value.substr(9, 2);}e coloca no onblur do CPF a chamada:"onblur="ValidaCpf(fFORM);formataCPF(this);" "falow!deu certinhuu, vlw!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
hgazza
Eai galera, sou novo aki no forum, e tb na area de programação web
eu estou desenvolvendo um projeto de aprendizado né...
e tenho q validar os campos pra o usuario não enviar campos numerico com letras...
ateh ai beleza, mas quando eu add uma mascara no campo CPF, da conflito nas funções e a função q valida u cpf encara como invalido..
ta ai como ta u codigo ateh agora
é uma pagina bem simples, preciso q alguém me ajude a criar uma função q coloque a mascara sem conflitar com a validação
não precisa ser nop textfiel, pod ser uma mascara se só vai ser aplicada no submit, processada nu servidor..
alguém pod me ajudar???
vlww
Editado por hgazzaLink para o comentário
Compartilhar em outros sites
4 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.