script.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. 'use strict';
  2. window.onload = () => {
  3. if ('serviceWorker' in navigator) {
  4. navigator.serviceWorker.register('./sw.js');
  5. console.info('serviceWorker loaded!');
  6. }
  7. }
  8. var formulario = {};
  9. (function(formulario){
  10. formulario.cpf = document.getElementById('cpf');
  11. formulario.bairro = document.getElementById('bairro');
  12. formulario.endereco = document.getElementById('endereco')
  13. formulario.cidade = document.getElementById('cidade');
  14. formulario.estado = document.getElementById('estado');
  15. formulario.celular = document.getElementById('celular');
  16. formulario.required = document.querySelectorAll(".required");
  17. formulario.invalidElement = document.querySelector("span");
  18. console.log(formulario);
  19. })(formulario);
  20. function validatecpf(cpf) {
  21. if (cpf.length != 11) return false;
  22. let numbers = cpf.substring(0, 9)
  23. let entry = cpf.substring(9)
  24. let sum = 0;
  25. for (let i = 10; i > 1; i--) {
  26. sum += numbers.charAt(10 - i) * i;
  27. }
  28. var result = (sum % 11) < 2 ? 0 : 11 - (sum % 11);
  29. if (result != entry.charAt(0)) {
  30. return false;
  31. }
  32. sum = 0;
  33. numbers = cpf.substring(0, 10);
  34. for (let k = 11; k > 1; k--) {
  35. sum += numbers.charAt(11 - k) * k;
  36. }
  37. result = sum % 11 < 2 ? 0 : 11 - (sum % 11);
  38. return result != entry.charAt(1) ? false : true
  39. }
  40. function validate() {
  41. const cpf = formulario.cpf.value.replace(/[^a-z0-9 ]/g, "")
  42. const requiredInputs = formulario.required;
  43. let inputIsValid = false;
  44. const cpfIsValid = validatecpf(cpf);
  45. for (let i = 0; i < requiredInputs.length; i++) {
  46. if (requiredInputs[i].value === "") {
  47. requiredInputs[i].style["border"] = "1px solid red"
  48. inputIsValid = false;
  49. } else {
  50. inputIsValid = true
  51. requiredInputs[1].style["border"] = "none"
  52. formulario.invalidElement.style["display"] = "none"
  53. requiredInputs[i].style["border"] = "none"
  54. }
  55. }
  56. if (!inputIsValid || !cpfIsValid) {
  57. window.alert("Opss! Aconteceu um erro no seu cadastro, verifique se você preencheu todos espaços necessários")
  58. cpfIsValid ? (
  59. requiredInputs[1].style["border"] = "none",
  60. formulario.invalidElement.style["display"] = "none"
  61. ) : (
  62. requiredInputs[1].style["border"] = "1px solid red",
  63. formulario.invalidElement.style["display"] = "inline"
  64. );
  65. return false
  66. }
  67. else if (cpfIsValid && inputIsValid) window.alert("Parabéns!! você foi cadastrado com sucesso")
  68. return true
  69. }
  70. function clearCepInputs() {
  71. formulario.endereco.value = ("");
  72. formulario.bairro.value = ("");
  73. formulario.cidade.value = ("");
  74. dformulario.estado.value = ("");
  75. }
  76. function retrievingCepInputs(cepInputs) {
  77. if ('erro' in cepInputs) {
  78. clearCepInputs();
  79. alert("CEP não encontrado.");
  80. return;
  81. }
  82. formulario.endereco.value = (cepInputs.logradouro);
  83. formulario.bairro.value = (cepInputs.bairro);
  84. formulario.cidade.value = (cepInputs.localidade);
  85. formulario.estado.value = (cepInputs.uf);
  86. }
  87. function searchCep(valor) {
  88. const cep = valor.replace(/\D/g, '');
  89. if (cep === "") {
  90. clearCepInputs();
  91. return;
  92. }
  93. const validateCep = /^[0-9]{8}$/;
  94. if (! validateCep.test(cep)) {
  95. clearCepInputs();
  96. alert("Formato de CEP inválido.");
  97. return;
  98. }
  99. const script = document.createElement('script');
  100. script.src = 'https://viacep.com.br/ws/' + cep + '/json/?callback=retrievingCepInputs';
  101. document.body.appendChild(script);
  102. };
  103. function cpfMask() {
  104. const length = formulario.cpf.value.length;
  105. if (length === 3 || length === 7)
  106. formulario.cpf.value = formulario.cpf.value + ".";
  107. else if (length === 11)
  108. formulario.cpf.value = formulario.cpf.value + "-";
  109. else if (length===14) length = 0
  110. }
  111. function phoneMask() {
  112. const length = formulario.celular.value.length;
  113. switch (length) {
  114. case 0:
  115. formulario.celular.value = '('
  116. break
  117. case 3:
  118. formulario.celular.value += ')'
  119. break
  120. case 5:
  121. formulario.celular.value += ' ';
  122. break
  123. case 10:
  124. formulario.celular.value += '-'
  125. break
  126. case 15:
  127. i = 0
  128. }
  129. }