script.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. const validarCpf = (cpf) => {
  2. if (cpf.length != 11) return false;
  3. else {
  4. var numeros = cpf.substring(0, 9)
  5. var digitos = cpf.substring(9)
  6. var soma = 0;
  7. for (var i = 10; i > 1; i--) {
  8. soma += numeros.charAt(10 - i) * i;
  9. }
  10. var resultado = (soma % 11) < 2 ? 0 : 11 - (soma % 11);
  11. if (resultado != digitos.charAt(0)) {
  12. return false;
  13. }
  14. var soma = 0;
  15. numeros = cpf.substring(0, 10);
  16. for (var k = 11; k > 1; k--) {
  17. soma += numeros.charAt(11 - k) * k;
  18. }
  19. resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);
  20. if (resultado != digitos.charAt(1)){
  21. return false;
  22. }else return true;
  23. }
  24. }
  25. function validacao() {
  26. var cpf = document.getElementById("cpf").value
  27. var validInputs = document.querySelectorAll(".required")
  28. var resultadoValidacao = validarCpf(cpf)
  29. for (i = 0; i < validInputs.length; i++) {
  30. if (validInputs[i].value === undefined || validInputs[i].value === "") {
  31. resultadoValidacao = false;
  32. validInputs[i].style["border"] = "1px solid red"
  33. } else {
  34. resultadoValidacao = true
  35. validInputs[1].style["border"] = "none"
  36. validInputs[i].style["border"] = "none"
  37. }
  38. }
  39. if (resultadoValidacao && validarCpf(cpf)) {
  40. window.alert("Parabens!! voce foi cadastrado com sucesso");
  41. return true
  42. }else if(!validarCpf(cpf)){
  43. window.alert("Opss! Aconteceu um erro no seu cadastro, verifique se voce preencheu todos espacos necessarios")
  44. validInputs[1].style["border"] = "1px solid red"
  45. document.querySelector("span").style["display"] = "inline"
  46. return false
  47. }
  48. else {
  49. window.alert("Opss! Aconteceu um erro no seu cadastro, verifique se voce preencheu todos espacos necessarios")
  50. return false
  51. }
  52. }
  53. function limpa_formulário_cep() {
  54. //Limpa valores do formulário de cep.
  55. document.getElementById('endereco').value=("");
  56. document.getElementById('bairro').value=("");
  57. document.getElementById('cidade').value=("");
  58. document.getElementById('estado').value=("");
  59. }
  60. function meu_callback(conteudo) {
  61. if (!("erro" in conteudo)) {
  62. //Atualiza os campos com os valores.
  63. document.getElementById('endereco').value=(conteudo.logradouro);
  64. document.getElementById('bairro').value=(conteudo.bairro);
  65. document.getElementById('cidade').value=(conteudo.localidade);
  66. document.getElementById('estado').value=(conteudo.uf);
  67. }
  68. else {
  69. //CEP não Encontrado.
  70. limpa_formulário_cep();
  71. alert("CEP não encontrado.");
  72. }
  73. }
  74. function pesquisacep(valor) {
  75. //Nova variável "cep" somente com dígitos.
  76. var cep = valor.replace(/\D/g, '');
  77. //Verifica se campo cep possui valor informado.
  78. if (cep != "") {
  79. //Expressão regular para validar o CEP.
  80. var validacep = /^[0-9]{8}$/;
  81. //Valida o formato do CEP.
  82. if(validacep.test(cep)) {
  83. //Cria um elemento javascript.
  84. var script = document.createElement('script');
  85. //Sincroniza com o callback.
  86. script.src = 'https://viacep.com.br/ws/'+ cep + '/json/?callback=meu_callback';
  87. //Insere script no documento e carrega o conteúdo.
  88. document.body.appendChild(script);
  89. } //end if.
  90. else {
  91. //cep é inválido.
  92. limpa_formulário_cep();
  93. alert("Formato de CEP inválido.");
  94. }
  95. } //end if.
  96. else {
  97. //cep sem valor, limpa formulário.
  98. limpa_formulário_cep();
  99. }
  100. };