-
Notifications
You must be signed in to change notification settings - Fork 0
/
logic.js
115 lines (101 loc) · 3.2 KB
/
logic.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
function esUnTextoValido(texto) {
// Verificar que el texto no está vacío
if (texto.trim() === "") {
return false;
}
// Verificar que el texto contiene al menos una letra
if (!/[a-z]/i.test(texto)) {
return false;
}
// Verificar que el texto solo contiene letras minúsculas
const regex = /^[a-z\n\r\s]+$/;
return regex.test(texto);
}
function encriptar(texto) {
const llaves = {
"e": "enter",
"i": "imes",
"a": "ai",
"o": "ober",
"u": "ufat"
};
let textoEncriptado = "";
for (let i = 0; i < texto.length; i++) {
let letra = texto[i];
if (llaves[letra]) {
textoEncriptado += llaves[letra];
} else {
textoEncriptado += letra;
}
}
return textoEncriptado;
}
function desencriptar(texto) {
// Convertir cada llave de encriptación según su letra original
let desencriptado = texto.replace(/enter/g, 'e')
.replace(/imes/g, 'i')
.replace(/ai/g, 'a')
.replace(/ober/g, 'o')
.replace(/ufat/g, 'u');
return desencriptado;
}
function mostrarAlerta(titulo, info) {
const popup = document.getElementById("mi-popup");
document.getElementById("popup-titulo").textContent = titulo;
document.getElementById("popup-info").textContent = info;
popup.style.display = "block";
}
function mostrarResultado() {
var resultado = document.getElementById("resultado");
resultado.style.display = "block";
var defaultText = document.querySelector(".default-text");
defaultText.style.display = "none";
}
function ocultarResultado() {
var resultado = document.getElementById("resultado");
resultado.value = "";
resultado.style.display = "none";
var defaultText = document.querySelector(".default-text");
defaultText.style.display = "block";
}
function encriptarTexto() {
const texto = document.getElementById("texto").value;
if (esUnTextoValido(texto)) {
const textoEncriptado = encriptar(texto);
document.getElementById("resultado").value = textoEncriptado;
mostrarResultado();
} else {
mostrarAlerta(
"Texto Inválido",
"Por favor ingrese solo letras minúsculas sin acentos ni caracteres especiales."
);
}
}
function desencriptarTexto() {
const texto = document.getElementById("texto").value;
if (esUnTextoValido(texto)) {
const textoDesencriptado = desencriptar(texto);
document.getElementById("resultado").value = textoDesencriptado;
mostrarResultado();
} else {
mostrarAlerta(
"Texto Inválido",
"Por favor ingrese solo letras minúsculas sin acentos ni caracteres especiales."
);
}
}
function copiar() {
const textarea = document.getElementById("resultado");
const texto = textarea.value.trim();
if (texto.length > 0) {
textarea.select();
document.execCommand('copy');
mostrarAlerta("Texto Copiado", "Texto copiado al portapapeles.");
} else {
mostrarAlerta("Sin Texto", "No hay texto que copiar.");
}
}
function limpiar() {
ocultarResultado();
document.getElementById("texto").value = "";
}