-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
108 lines (83 loc) · 3.64 KB
/
script.js
File metadata and controls
108 lines (83 loc) · 3.64 KB
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
const textArea = document.querySelector('.text-area');
const mensaje = document.querySelector('.campo-mensaje');
//La letra "e" es convertida para "enter"
//La letra "i" es convertida para "imes"
//La letra "a" es convertida para "ai"
//La letra "o" es convertida para "ober"
//La letra "u" es convertida para "ufat"
// Función que validad el campo de texto
textArea.addEventListener("keydown", (event) => {
let letra = event.key;
if (event.key === " " || event.key.length > 1 || (event.key.length === 1 && /^[a-z]{1}$/.test(letra))) {
// Si es una letra minúscula, un espacio o una tecla especial, permitir la acción
} else {
alert("Solo se permiten letras minúsculas y sin acentos");
event.preventDefault(); // Prevenir la acción por defecto (por ejemplo, escribir la tecla)
}
});
// Creación de la funciones para el uso del boton encriptar
function btnEncriptar() {
const texto = textArea.value.trim()
if (!minusculasySinAcentos(texto)) {
return;
}
const textoEncriptado = encriptar(textArea.value)
mensaje.value = textoEncriptado
textArea.value = '';
mensaje.style.backgroundImage = "none";
}
// Creación de la función para encriptar el texto que se va a usar para realizar la tarea
function encriptar(stringEncriptado) {
let matrizCodigo = [['e', 'enter'], ['i', 'imes'], ['a', 'ai'], ['o', 'ober'], ['u', 'ufat']];
stringEncriptado = stringEncriptado.toLowerCase();
for (let i = 0; i < matrizCodigo.length; i++) {
if (stringEncriptado.includes(matrizCodigo[i][0])) {
stringEncriptado = stringEncriptado.replaceAll(matrizCodigo[i][0], matrizCodigo[i][1])
}
}
return stringEncriptado;
}
// Creación de la funciones para el uso del boton desencriptar
function btnDesencriptar() {
const texto = textArea.value.trim();
if (!minusculasySinAcentos(texto)) {
return;
}
const textoEncriptado = desencriptar(textArea.value)
mensaje.value = textoEncriptado
textArea.value = '';
mensaje.style.backgroundImage = "none";
}
// Creación de la función para desencriptar el texto que se va a usar para realizar la tarea
function desencriptar(stringDesencriptado) {
let matrizCodigo = [['u', 'ufat'], ['o', 'ober'], ['a', 'ai'], ['i', 'imes'], ['e', 'enter']];
stringDesencriptado = stringDesencriptado.toLowerCase();
for (let i = 0; i < matrizCodigo.length; i++) {
if (stringDesencriptado.includes(matrizCodigo[i][1])) {
stringDesencriptado = stringDesencriptado.replaceAll(matrizCodigo[i][1], matrizCodigo[i][0])
}
}
return stringDesencriptado;
}
// Función que verifica si el texto está cumpliendo con las condiciones establecidas
function minusculasySinAcentos(texto) {
const errorMessage = document.getElementById('error-message');
if (!/^[a-z\s]+$/.test(texto)) {
errorMessage.textContent = "Error: Solo letras minúsculas y sin acentos.";
return false;
}
errorMessage.textContent = ''; // Se limpia el mensaje de error si no hay errores
return true;
}
// Funcion para el botton copiar texto de campo mensaje
function btnCopiar() {
const copiarTexto = document.querySelector('.campo-mensaje');
navigator.clipboard.writeText(copiarTexto.value);
const buttonCopy = document.querySelector('.botton-copiar');
buttonCopy.textContent = "¡Copiado!";
setTimeout(() => {
buttonCopy.textContent = "Copiar"
}, 2500);
// Función para limpiar el campo de mensaje después de copiar el texto
copiarTexto.value = '';
}