Validar Certificado
Validar Certificado 📜🔍
function login() { const usernameInput = document.getElementById("username").value.trim().toLowerCase(); let codigoInput = document.getElementById("codigo").value.trim().toUpperCase().replace(/[^a-zA-Z0-9-]/g, ''); // Limpa caracteres não permitidos // Remove o sombreamento do campo código se for válido document.getElementById("codigo").style.boxShadow = ""; // Verifica se o aluno existe na lista const alunoEncontrado = alunos.find( (aluno) => aluno.nome.trim().toLowerCase() === usernameInput && aluno.codigo.trim().toUpperCase() === codigoInput ); if (alunoEncontrado) { // Gera o token único e prazo de validade const token = Date.now().toString(); // Token único baseado na hora const validadeEmMinutos = 1; // Token válido por 30 minutos const horaExpiracao = Date.now() + validadeEmMinutos * 60 * 1000; // Armazena o token e a validade no localStorage localStorage.setItem("token", token); localStorage.setItem("tokenExpiracao", horaExpiracao); // Redireciona para a mesma URL com o token window.location.href = "https://www.companhiadasteclas.com.br/p/blog-page_14.html?token=" + token; } else { alert("Certificado não encontrado. Por favor, verifique se o nome e o código foram digitados exatamente como impressos."); } } function validarCodigoFormatado(codigo) { // Verifica se o código segue o formato "xxxxxxx-xxxxxxx-xxxxxxx" const regex = /^[A-Za-z]{7}-\d{7}-[A-Za-z]{7}$/; return regex.test(codigo); } function validarNome(campo) { // Impede que o primeiro caractere seja um espaço if (campo.value.charAt(0) === ' ') { campo.value = campo.value.trimStart(); // Remove o espaço no início } // Permite apenas letras e um único espaço entre as palavras campo.value = campo.value.replace(/\s+/g, ' '); // Substitui múltiplos espaços por um único espaço campo.value = campo.value.replace(/[^a-zA-Z\s]/g, ''); // Permite apenas letras e espaços // Define a lista de palavras a serem mantidas em minúsculas const palavrasMin = ['de', 'da', 'do', 'e', 'das', 'dos', 'para', 'com', 'sem']; // Formata o nome para a primeira letra de cada palavra ser maiúscula, exceto as palavras da lista campo.value = campo.value.replace(/\b\w+/g, function (letra) { if (palavrasMin.includes(letra.toLowerCase())) { return letra.toLowerCase(); // Mantém em minúsculas as palavras da lista } return letra.charAt(0).toUpperCase() + letra.slice(1).toLowerCase(); // Capitaliza as outras palavras }); } function validarCodigo(campo) { // Permite até 7 letras antes do primeiro hífen, 7 números após o primeiro hífen e 7 letras após o segundo hífen let valor = campo.value.toUpperCase(); // Converte tudo para maiúsculo let partes = valor.split('-'); // Limita a primeira parte a 7 letras if (partes[0]) { partes[0] = partes[0].replace(/[^a-zA-Z]/g, ''); // Permite apenas letras if (partes[0].length > 7) { partes[0] = partes[0].slice(0, 7); // Limita a 7 letras } } // Permite apenas números após o primeiro hífen if (partes[1]) { partes[1] = partes[1].replace(/\D/g, ''); // Remove qualquer caractere não numérico if (partes[1].length > 7) { partes[1] = partes[1].slice(0, 7); // Limita a 7 números } } // Permite apenas letras após o segundo hífen if (partes[2]) { partes[2] = partes[2].replace(/[^a-zA-Z]/g, ''); // Permite apenas letras if (partes[2].length > 6) { partes[2] = partes[2].slice(0, 6); // Limita a 7 letras } } // Recompõe o valor campo.value = partes.join('-'); }