funcoes.js

let validateData = function(str) { var newdate = new Date(); var str = str.replace(/\//g, ""); var yyyy = Number(str.substr(4, 4)); var mm = Number(str.substr(2, 2)) - 1; var dd = Number(str.substr(0, 2)); newdate.setFullYear(yyyy); newdate.setMonth(mm); newdate.setDate(dd); return dd == newdate.getDate() && mm == newdate.getMonth() && yyyy == newdate.getFullYear(); } let isCpf = function(campo) { if (!campo) return false; var r = campo; r = r.replace(".",""); r = r.replace(".",""); r = r.replace("-",""); CPF =r; if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" || CPF == "22222222222" || CPF == "33333333333" || CPF == "44444444444" || CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" || CPF == "88888888888" || CPF == "99999999999") { 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))) { 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))) { return false; } return true; }; let validateEmail = function($email) { let emailReg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return emailReg.test($email); }; let validateUrl = function(url){ if(url.match( /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/)) { return true; } else { return false; } } function limpa_formulário_cep() { // Limpa valores do formulário de cep. $("#endereco").val(""); $("#bairro").val(""); $("#cidade").val(""); $("#estado").val(""); } let buscaCep = function(cep) { //Nova variável "cep" somente com dígitos. var cep = cep.replace(/\D/g, ''); //Verifica se campo cep possui 8 digitos. if(cep.length==8) { //Preenche os campos com "..." enquanto consulta webservice. $("#endereco").val("..."); $("#bairro").val("..."); $("#cidade").val("..."); $("#estado").val("..."); //Consulta o webservice viacep.com.br/ $.getJSON("https://viacep.com.br/ws/"+ cep +"/json/?callback=?", function(dados) { if (!("erro" in dados)) { //Atualiza os campos com os valores da consulta. $("#endereco").val(dados.logradouro); $("#bairro").val(dados.bairro); $("#cidade").val(dados.localidade); $("#estado").val(dados.uf); $('#endereco').removeClass('erro'); $('#bairro').removeClass('erro'); $('#cidade').removeClass('erro'); $('#estado').removeClass('erro'); } //end if. else { //CEP pesquisado não foi encontrado. limpa_formulário_cep(); $("#resultCep").text("CEP não encontrado."); $("#myModalCep").modal('show'); } }); } //end if. else { //cep sem valor, limpa formulário. limpa_formulário_cep(); $("#resultCep").text("Formato do cep inválido."); $("#myModalCep").modal('show'); } }; let validNomeCompleto = function(nome) { return nome.indexOf(' ') != -1; }; let marcaPasso = function(show) { show++; //começa em 0 $('.circ-passos-item').removeClass('active_passo'); $('.circ-passos:nth-child(' + show + ') .circ-passos-item').addClass('active_passo'); }; let camposVazios = function(el, toggle) { let s = 'camposEmBranco'; toggle ? el.addClass(s) : el.removeClass(s); }; let togglePasso = function(show) { $('.passo').hide(); $('#passo-'+ show +'').show(); }; let setKey = function() { $.get("key.php").then(function(response) { $('#chaveKey').html(response); }); }; //forca da senha $(function (){ $('#senha').keyup(function (e){ var senha = $(this).val(); if(senha == ''){ $('#senhaBarra').hide(); }else{ var fSenha = forcaSenha(senha); var texto = ""; $('#senhaForca').css('width', fSenha+'%'); $('#senhaForca').removeClass(); $('#senhaForca').addClass('progress-bar'); if(fSenha <= 40){ texto = 'Fraca'; $('#senhaForca').addClass('progress-bar-danger'); } if(fSenha > 40 && fSenha <= 70){ texto = 'Media'; } if(fSenha > 70 && fSenha <= 90){ texto = 'Boa'; $('#senhaForca').addClass('progress-bar-success'); } if(fSenha > 90){ texto = 'Muito boa'; $('#senhaForca').addClass('progress-bar-success'); } $('#senhaForca').text(fSenha+" "+texto); $('#senhaBarra').show(); } }); }); function forcaSenha(senha){ var forca = 0; var regLetrasMa = /[A-Z]/; var regLetrasMi = /[a-z]/; var regNumero = /[0-9]/; var regEspecial = /[!@#$%&*?]/; var tam = false; var tamM = false; var letrasMa = false; var letrasMi = false; var numero = false; var especial = false; // console.clear(); // console.log('senha: '+senha); if(senha.length >= 6) tam = true; if(senha.length >= 8) tamM = true; if(regLetrasMa.exec(senha)) letrasMa = true; if(regLetrasMi.exec(senha)) letrasMi = true; if(regNumero.exec(senha)) numero = true; if(regEspecial.exec(senha)) especial = true; if(tam) forca += 10; if(tamM) forca += 10; if(letrasMa) forca += 10; if(letrasMi) forca += 10; if(letrasMa && letrasMi) forca += 20; if(numero) forca += 20; if(especial) forca += 20; // console.log('força: '+forca); return forca; } function isCNPJ( r ) { r = r.replace(".",""); r = r.replace(".",""); r = r.replace("/",""); r = r.replace("-",""); var iError = 0 ; var nCGC_ = r ; if (r.length == 0){ return true } if ( (r * 1) == 0 ) iError++ ; if ( nCGC_.length == 15 && nCGC_.charAt(0) == "0") nCGC_ = nCGC_.substring(1 , nCGC_.length) ; if ( nCGC_.length != 14 ) iError++ ; var nCGC = new Array() ; for ( i = 0 ; i < 15 ; i++ ) { nCGC[i] = nCGC_.charAt(i) ; } iDV1=(nCGC[0]*5+nCGC[1]*4+nCGC[2]*3+nCGC[3]*2+nCGC[4]*9+nCGC[5]*8+nCGC[6]*7+nCGC[7]*6+nCGC[8]*5+nCGC[9]*4+nCGC[10]*3+nCGC[11]*2)%11; if ( iDV1 == 1 || iDV1 == 0 ) { iDV1 = 0 } else { iDV1 = 11 - iDV1 } if ( iDV1 != nCGC[12] ) iError++ ; iDV2=(nCGC[0]*6+nCGC[1]*5+nCGC[2]*4+nCGC[3]*3+nCGC[4]*2+nCGC[5]*9+nCGC[6]*8+nCGC[7]*7+nCGC[8]*6+nCGC[9]*5+nCGC[10]*4+nCGC[11]*3+nCGC[12]*2)%11 ; if ( iDV2 == 1 || iDV2 == 0 ) { iDV2 = 0 } else { iDV2 = 11 - iDV2 } if ( iDV2 != nCGC[13] ) iError++ ; if ( iError > 0 ) { return false ; } else { $('#cnpj').removeClass('erro'); return true ; } } $(document).ready(function(e) { $('#cep').change(function() { buscaCep($(this).val()); }); $('input').keypress(function() { $('#msg_erro').hide(); $('input').removeClass('erro'); }); function numero(tecla){ if ((tecla > 47 && tecla < 58) ) return true; else return false; } function delete_setas(tecla){ if (tecla!=0 && tecla != 8) return false; /* 8 - delete 0-setas,delete(firefox) */ else return true; } $(document).on('keypress','.decimal, .numero', function() { var tecla = (window.event) ? event.keyCode : event.which; if($(this).hasClass('decimal')){ return (numero(tecla) || delete_setas(tecla) || tecla == 44 ); // ou "." } if($(this).hasClass('numero')){ return (numero(tecla) || delete_setas(tecla) ); } }); $(document).on('change','.obrigatorio', function() { $(this).removeClass('erro'); }) function ajusta_mascara(obj){ //console.log(obj); obj.attr('autocomplete','off').attr('autocorrect','off').attr('autocapitalize','off').attr('spellcheck','false'); } //******************** mascaras *******************8 $('input.cnpj').ready(function(e) { ajusta_mascara($('input.cnpj')); $('input.cnpj').mask("99.999.999/9999-99"); }); $('input.cpf').ready(function(e) { ajusta_mascara($('input.cpf')); $('input.cpf').mask("999.999.999-99"); }); $('input.cep').ready(function(e) { ajusta_mascara($('input.cep')); $('input.cep').mask("99.999-999"); }); $('input.telefone').ready(function(e) { ajusta_mascara($('input.telefone')); $('input.telefone').mask('(99)99999-999\?9') }); $('input.data').ready(function(e) { ajusta_mascara($('input.data')); $('input.data').mask("99/99/9999"); }); function isValid(date) { var value = date.valueOf(); if (value === 0) return true; else return !!value; }; $('#msg_erro').hide(); var passo =1; function form_submit(){ $.post('nova_loja.php', $('#form_cadastro').serialize()).success(function(data, status) { if(data == 1){ $("#myModal").modal('show'); //exibe_erro("ok"); }else{ $("#resultado").html("<span style='color:red'>ERRO:</span><br> O registro no banco não foi realizado! E-mail <span style='color:red'>"+data+"</span> já existe no banco."); $("#myModalErro").modal('show'); //exibe_erro("Deu ruim"); } }); } $('.controls-passos BUTTON').click(function(e) { $('.controls-passos BUTTON').show(); //valida formulario atual if($(this).hasClass('continuar')){ if(valida_passo(passo)){ if(passo==4){ //submete formulario form_submit(); }else{ marcaPasso(++passo); togglePasso(passo); } } }else{ if(passo>1){ marcaPasso(--passo); togglePasso(passo); } } if(passo ==1){ $('.controls-passos .voltar').hide(); } }); function exibe_erro(msg){ $('#msg_erro').html(msg).show(); } function valida_passo(passo){ $('#msg_erro').hide(); erro_campo_obrigatorio = false; $('#passo-'+passo+' .obrigatorio').removeClass('erro'); $('#passo-'+passo+' .obrigatorio').each(function() { if($(this).val()==''){ erro_campo_obrigatorio = true; $(this).addClass('erro'); } }); if(erro_campo_obrigatorio){ exibe_erro('Preencha os campos obrigatórios!'); return false; } switch (passo){ case 1: if(!$('#planoInput').val()) { // para exibe_erro('É necess&aacute;rio escolher um plano!'); return false; } break; case 2: //valida email if(validateEmail( $('#emailPrimary').val())) { $('#emailja').hide(); var teste=true; $.ajaxSetup({async: false}); $.post('verifica_email.php', { "email": $('#emailPrimary').val(), "opcao": "1"}).success(function(data, status) { if (data == 1){ //existe exibe_erro('e-mail já existe'); $('#emailja').show(); $('#emailerro').hide(); $('#emailPrimary').addClass('erro'); teste = false; }else if(data == 2){ exibe_erro('E-mail inválido!'); $('#emailja').hide(); $('#emailerro').show(); $('#emailPrimary').addClass('erro'); teste = false; } }); if(teste==false) return false; } else { // email invalido exibe_erro('A sintaxe do email está errada'); $('#emailPrimary').addClass('erro'); return false; } //valida senhas forca = forcaSenha($('#senha').val()); if(forca<50){ exibe_erro('Sua senha é muito fraca, força minima 50. Utilize no mínimo 8 caracteres, com letras, números, caracteres especiais.'); $('.senha').addClass('erro'); return false; } if($('#senha').val()!=$('#confirm_senha').val() ){ exibe_erro('As senhas precisam ser iguais!'); $('.senha').addClass('erro'); return false; } break; case 3: if(validNomeCompleto($('#nome').val())==false){ exibe_erro('Informe o nome completo!'); $('#nome').addClass('erro'); return false; } if(!isCpf($('#cpf').val())){ exibe_erro('O CPF está incorreto!'); $('#cpf').addClass('erro'); return false; } if(!validateData($('#dtNascimento').val())){ exibe_erro('A data é inválida!'); $('#dtNascimento').addClass('erro'); return false; }else{ var data= $('#dtNascimento').val(); var partesData = data.split("/"); data = new Date(partesData[2], partesData[1] - 1, partesData[0]); var hoje = new Date(); var difTempo = (hoje.getTime() - data.getTime()); var difDias = Math.ceil(difTempo / (1000 * 3600 * 24)); if(difDias<=0){ exibe_erro("Veio do futuro!!"); $('#dtNascimento').addClass('erro'); return false; }else if (difDias<5479){ exibe_erro("idade minima 15 anos"); $('#dtNascimento').addClass('erro'); return false; }else if (difDias>42734){ exibe_erro("Idade maxima 117 anos"); $('#dtNascimento').addClass('erro'); return false; } } break; case 4: if(!isCNPJ($('#cnpj').val())){ exibe_erro('O CNPJ está incorreto!'); $('#cnpj').addClass('erro'); return false; } if($('#termos').is(':checked')==false){ exibe_erro('É necessário ler e aceitar o termo de uso!'); return false; } if($('#key').val()!=Number($("#chaveKey").text()) ){ exibe_erro('O código não confere!'); $('#key').addClass('erro'); return false; } if(validateUrl( $('#siteUrl').val())) { var teste=true; $.ajaxSetup({async: false}); $.post('verifica_url.php', { "url": $('#siteUrl').val(), "opcao": "1"}).success(function(data, status) { if(data == 2){ exibe_erro('Dominio inválido'); $('#siteUrl').addClass('erro'); teste = false; } }); if(teste==false) return false; } else { // Dominio inválido exibe_erro('Sintaxe do dominio inválido!'); $('#siteUrl').addClass('erro'); return false; } break; } if(passo != 4) $('html,body').animate({scrollTop: ($('#form_cadastro').offset().top - 280)},'slow'); return true; } /////////////////////// /// Passo 1 /// ///////////////////// let marcarPlanos = function(el) { $('#planoInput').val(el); $('.planos').each(function() { $(this).removeClass('plano-escolhido'); }); $('#' + el).addClass('plano-escolhido'); $('#msg_erro').hide(); }; $('.planos.planos-cadastro').click(function() { marcarPlanos($(this).attr('id')); }); $('.controls-passos .voltar').hide(); setKey(); });

Public Last updated: 2018-09-23 06:12:53 PM