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á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
