function formatarCPF(cpf) { if (cpf == null) return "-- CPF nulo --"; cpf = cpf.replace(/[^0-9]+/g, ""); var resultado = ""; for (var i = 0 ; i < cpf.length; i++) { switch (i) { case 3: case 6: resultado += "."; break; case 9: resultado += "-"; break; } resultado += cpf[i]; } return resultado; } function formatarCartaoCredito(numero_cartao, extras) { numero_cartao = numero_cartao.replace(/[^0-9]+/g, ""); if (numero_cartao.length == 0) { extras.TAMANHO = 10; return ""; } resultado = []; // ELO usa um range enorme de inicios: var ELO = {"6":[636368,438935,504175,451416,509048,509067, 509049,509069,509050,509074,509068,509040, 509045,509051,509046,509066,509047,509042, 509052,509043,509064,509040], "5": [36297], "4": [6504,5067,4576,4011] }; for (qtdChar in ELO) { if (ELO[qtdChar].indexOf(parseInt(numero_cartao.substr(0,parseInt(qtdChar)))) != -1) { //0000-0000-0000-0000 extras.BANDEIRA = "ELO"; extras.TAMANHO = 19; extras.TAMANHO_CODIGO = 3; for (var i = 0; i < numero_cartao.length; i++) { if ([4, 8, 12].indexOf(i) != -1) { resultado.push("-"); } resultado.push(numero_cartao[i]); } return resultado.join(""); } } // não é ELO, então testo Hipercard if (["38","60"].indexOf(numero_cartao.substr(0,2)) != -1) { //0000-0000-0000-0000 extras.BANDEIRA = "Hipercard"; extras.TAMANHO = 19; extras.TAMANHO_CODIGO = 3; for (var i = 0; i < numero_cartao.length; i++) { if ([4, 8, 12].indexOf(i) != -1) { resultado.push("-"); } resultado.push(numero_cartao[i]); } return resultado.join(""); } // não é Hiper, então testo os demais switch (numero_cartao[0]) { case "3": //0000-0000000-00000 extras.BANDEIRA = "AMEX"; extras.TAMANHO = 17; extras.TAMANHO_CODIGO = 4; for (var i = 0; i < numero_cartao.length; i++) { if ([4, 10].indexOf(i) != -1) { resultado.push("-"); } resultado.push(numero_cartao[i]); } break; case "4"://0000-0000-0000-0000 extras.BANDEIRA = "VISA"; extras.TAMANHO = 19; extras.TAMANHO_CODIGO = 3; for (var i = 0; i < numero_cartao.length; i++) { if ([4, 8, 12].indexOf(i) != -1) { resultado.push("-"); } resultado.push(numero_cartao[i]); } break; case "2": case "5"://0000-0000-0000-0000 extras.BANDEIRA = "MASTERCARD"; extras.TAMANHO = 19; extras.TAMANHO_CODIGO = 3; for (var i = 0; i < numero_cartao.length; i++) { if ([4, 8, 12].indexOf(i) != -1) { resultado.push("-"); } resultado.push(numero_cartao[i]); } break; case "6": extras.BANDEIRA = "Hipercard"; extras.TAMANHO = 19; extras.TAMANHO_CODIGO = 3; for (var i = 0; i < numero_cartao.length; i++) { if ([4, 8, 12].indexOf(i) != -1) { resultado.push("-"); } resultado.push(numero_cartao[i]); } break; default: extras.BANDEIRA = "DESCONHECIDA"; } return resultado.join(""); } function formatarValidadeCartao(validade) { validade = validade.replace("/20", ""); validade = validade.replace(/[^0-9]+/g, ""); if (validade.length == 0) return ""; if (validade.length < 3) return validade; console.log(validade); validade = validade.substr(0,2) + "/20" + validade.substr(2,2); return validade; } function dateToStringBR(data, separador) { let dia = data.getDate(); let mes = data.getMonth() + 1; let ano = data.getFullYear(); let _separador = (separador || "/"); let strDia = (dia < 10)?"0" + String(dia):String(dia); let strMes = (mes < 10)?"0" + String(mes):String(mes); return strDia + _separador + strMes + _separador + String(ano); } function dateToStringUS(data, separador) { let dia = data.getDate(); let mes = data.getMonth() + 1; let ano = data.getFullYear(); let _separador = (separador || "/"); let strDia = (dia < 10)?"0" + String(dia):String(dia); let strMes = (mes < 10)?"0" + String(mes):String(mes); return String(ano) + _separador + strMes + _separador + strDia; } function somarData(data, deltaDias) { let _paraDias = 1000 * 60 * 60 * 24; return new Date(data.getTime() + deltaDias * _paraDias); } function formatarData(data) { data = data.replace(/[^0-9]+/g, ""); resultado = ""; var max = data.length; if (max > 8) max = 8; for (var i = 0; i < max; i++) { if ([2,4].indexOf(i) != -1) { resultado += "/"; } resultado += data[i]; } return resultado; } function formataDataJSON(data_json) { var x = new Date(data_json); var dia = x.getDate() + ""; if (dia.length < 2) dia = "0" + dia; var mes = (x.getMonth() + 1) + ""; if (mes.length < 2) mes = "0" + mes; return dia + "/" + mes + "/" + x.getFullYear(); } function formataDataHoraJSON(data_json) { if (data_json == null) return null; var x = new Date(data_json); var dia = x.getDate() + ""; if (dia.length < 2) dia = "0" + dia; var mes = (x.getMonth() + 1) + ""; if (mes.length < 2) mes = "0" + mes; var hora = x.getHours(); if (hora.length < 2) hora = "0" + hora; var minutos = x.getMinutes() + ""; if (minutos.length < 2) minutos = "0" + minutos; var segundos = x.getSeconds() + ""; if (segundos.length < 2) segundos = "0" + segundos; return dia + "/" + mes + "/" + x.getFullYear() + " " + hora + ":" + minutos + ":" + segundos; } function dataValida(dia, mes, ano) { if ((typeof(mes) == "undefined") && typeof(ano) == "undefined") { var partes = dia.split("/"); dia = parseInt(partes[0]); mes = parseInt(partes[1]); ano = parseInt(partes[2]); } var data = new Date(ano, mes - 1, dia, 12, 0, 0); if (data == null) { return false; } return ((data.getFullYear() == ano) && (data.getMonth() == (mes - 1)) && (data.getDate() == dia)); } function deltaDias(data) { var hoje = new Date(); var dia_hoje = hoje.getDate(); var mes_hoje = hoje.getMonth() + 1; var ano_hoje = hoje.getFullYear(); if (typeof(data) == "string") { var divisor = "-"; if (data.indexOf(divisor) == -1) divisor = "/"; var partes = data.split(divisor); if (partes[0].length == 4) { data = partes.join(divisor); } else { data = partes.reverse().join(divisor); } var datastr = data; data = new Date(data); if (datastr[datastr.length - 1] != "Z") { data = new Date(data.getTime() + data.getTimezoneOffset() * 60000); } } var dia_selecionado = data.getDate(); var mes_selecionado = data.getMonth() + 1; var ano_selecionado = data.getFullYear(); console.log(dia_selecionado); console.log(mes_selecionado); console.log(ano_selecionado); // antes de mais nada, vejo se é uma data válida :p if (!dataValida(dia_selecionado, mes_selecionado, ano_selecionado)) { alert(global_mensagens.data_invalida); return NaN; } var selecionado = new Date(ano_selecionado, mes_selecionado - 1, dia_selecionado); var delta_dias = (selecionado.getTime() - hoje.getTime()) / 1000 / 60 / 60 / 24; console.log(delta_dias); return delta_dias; } function validarCPF(CPF) { CPF = CPF.replace(/[^0-9]/g, "") var soma; var resto; soma = 0; while (CPF.length < 11) { CPF = "0" + CPF; } if (CPF == "00000000000") return false; for (i=1; i<=9; i++) soma = soma + parseInt(CPF.substring(i-1, i)) * (11 - i); resto = (soma * 10) % 11; if ((resto == 10) || (resto == 11)) resto = 0; if (resto != parseInt(CPF.substring(9, 10)) ) return false; soma = 0; for (i = 1; i <= 10; i++) soma = soma + parseInt(CPF.substring(i-1, i)) * (12 - i); resto = (soma * 10) % 11; if ((resto == 10) || (resto == 11)) resto = 0; if (resto != parseInt(CPF.substring(10, 11) ) ) return false; return true; } function validarEmail(email) { var re = /^(([^<>()\[\]\\.,;:\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 re.test(email); } function validarNome(nome) { return nome.trim().indexOf(" ") != -1; } function validarCelularComDDD(telefone) { telefone = telefone.replace(/[^0-9]+/g, ""); return telefone.length == 11; // return [11,12].indexOf(telefone.length) != -1; } function formatarTelefone(numero) { numero = numero.replace(/[^0-9]+/g, ""); resultado = ""; for (var i = 0 ; i < numero.length; i++) { if (i == 0) { resultado += "("; } if (i == 2) { resultado += ") "; } if (numero.length == 11) { if (i == 7) { resultado += "-"; } } else { if (i == 6) { resultado += "-"; } } resultado += numero[i]; } return resultado; } function formatarCEP(numero) { numero = numero.replace(/[^0-9]+/g, ""); resultado = ""; for (var i = 0 ; i < numero.length; i++) { if (i == 2) { resultado += "."; } if (i == 5) { resultado += "-"; } resultado += numero[i]; } return resultado; } function primeiroNome(nome) { var partes = nome.split(" "); return partes[0]; } function primeiroUltimoNome(nome) { var partes = nome.split(" "); return partes[0] + " " + partes[partes.length - 1] }