![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
Você está aqui: JavaScript ::: Dicas & Truques ::: Validação de Formulários |
Validação de formulários em JavaScript - Como validar CPF (com pontos e hífen) usando expressões regularesQuantidade de visualizações: 44548 vezes |
Nesta dica mostrarei como podemos escrever uma função JavaScript para a validação de números de CPF, dessa vez usando pontos e o hífen. Isso é interessante porque, muitas vezes, o usuário copia seu CPF de outro lugar e cola nas caixas de texto de nossas aplicações. A pagina HTML que contém o formulário se parece com a imagem abaixo: ![]() E agora veja o código JavaScript completo para o exemplo, incluindo o código HTML para a página: <html> <head> <title>Estudando JavaScript</title> <style type="text/css"> input {margin-bottom: 3px; margin-top: 3px} </style> <script type="text/javascript"> function validarCPF(){ var cpf = document.cadastro.cpf.value; var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i; if(!filtro.test(cpf)){ window.alert("CPF inválido. Tente novamente."); return false; } cpf = remove(cpf, "."); cpf = remove(cpf, "-"); if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){ window.alert("CPF inválido. Tente novamente."); return false; } soma = 0; for(i = 0; i < 9; i++){ soma += parseInt(cpf.charAt(i)) * (10 - i); } resto = 11 - (soma % 11); if(resto == 10 || resto == 11){ resto = 0; } if(resto != parseInt(cpf.charAt(9))){ window.alert("CPF inválido. Tente novamente."); return false; } soma = 0; for(i = 0; i < 10; i ++){ soma += parseInt(cpf.charAt(i)) * (11 - i); } resto = 11 - (soma % 11); if(resto == 10 || resto == 11){ resto = 0; } if(resto != parseInt(cpf.charAt(10))){ window.alert("CPF inválido. Tente novamente."); return false; } window.alert("CPF válido. Muito obrigado."); return true; } function remove(str, sub) { i = str.indexOf(sub); r = ""; if (i == -1) return str; r += str.substring(0,i) + remove(str.substring(i + sub.length), sub); return r; } </script> </head> <body> <form name="cadastro" onSubmit="return validarCPF()"> Informe seu CPF (use os pontos e o hífen):<br> <input type="text" maxlength="14" name="cpf"> <input type="submit" value="Enviar!"> </form> </body> </html> |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |