-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainENG.js
164 lines (111 loc) · 5.9 KB
/
mainENG.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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
// Inicio
const logo = document.getElementById ("logo");
const textoEntrada = document.getElementById ("textoEntrada");
const munieco = document.getElementById ("munieco");
const Rectangle1_texto1 = document.getElementById ("Rectangle1_texto1");
const Rectangle1_texto2 = document.getElementById ("Rectangle1_texto2");
const Frame5 = document.getElementById ("Frame5");
const botonEncriptar = document.getElementById ("botonEncriptar");
const botonDesencriptar = document.getElementById ("botonDesencriptar");
const textarea = document.createElement ("textarea");
const botonCopiar = document.createElement ("button");
function RemoverDefault () {
munieco.remove ();
Rectangle1_texto1.remove ();
Rectangle1_texto2.remove ();
}
function Encriptar () {
let texto = textoEntrada.value;
let textoMinusculas = texto.toLowerCase();
if (textoMinusculas == "" || textoMinusculas == +textoMinusculas) {
alert ("There is no text to encrypt.");
} else {
RemoverDefault ();
let textoEncriptado = textoMinusculas.replace(/e/g, "enter").replace(/i/g, "imes").replace(/a/g, "ai").replace(/o/g, "ober").replace(/u/g, "ufat");
textarea.value = 'The encrypted text is: '+'"' +textoEncriptado+'".';
textarea.spellcheck = false;
textarea.className = "textoSalida";
Frame5.append (textarea);
botonCopiar.className = "btn_co";
botonCopiar.innerText = "Copy";
Frame5.append (botonCopiar);
botonEncriptar.innerText = "Successful Encryption!";
botonCopiar.onclick = function () {
let textoCopiado = textoEncriptado;
navigator.clipboard.writeText (textoCopiado);
botonCopiar.innerText = "Text copied to clipboard!";
}
}
}
function Desencriptar () {
let texto = textoEntrada.value;
let textoMinusculas = texto.toLowerCase();
if (textoMinusculas == "" || textoMinusculas == +textoMinusculas) {
alert ("There is no text to decrypt.");
} else {
RemoverDefault ();
let textoDesencriptado = textoMinusculas.replace(/enter/g, "e").replace(/imes/g, "i").replace(/ai/g, "a").replace(/ober/g, "o").replace(/ufat/g, "u");
textarea.value = 'The decrypted text is: '+'"' +textoDesencriptado+'".';
textarea.spellcheck = false;
textarea.className = "textoSalida";
Frame5.append (textarea);
botonCopiar.className = "btn_co";
botonCopiar.innerText = "Copy";
Frame5.append (botonCopiar);
botonDesencriptar.innerText = "Successful Decryption!";
botonCopiar.onclick = function () {
let textoCopiado = textoDesencriptado;
navigator.clipboard.writeText (textoCopiado);
botonCopiar.innerText = "Text copied to clipboard!";
}
}
};
botonEncriptar.addEventListener ("click", Encriptar);
botonDesencriptar.addEventListener ("click", Desencriptar);
window.addEventListener('DOMContentLoaded', () => {
logo.onmouseenter = () => {
logo.src = "logo2.svg"
};
logo.onmouseleave = () => {
logo.src = "logo.svg"
};
});
// Solamente se admite el abecedario en minusculas de la a hasta la z.
// A excepcion de la coma, el punto y nueva linea (parrafo).
function CambiarCarsInvalidos (caracter) {
const caracteresInvalidos = /[^a-z ,.ñ\n]/gi;
if (caracteresInvalidos.test(caracter.value)) {
caracter.value = caracter.value.replace(caracteresInvalidos, "");
}
};
// Fin
// Descripción
// ¡Bienvenidos y Bienvenidas a nuestro primer desafío!
// Durante estas cuatro semanas, vamos a trabajar en una aplicación que encripta textos, así podrás intercambiar mensajes secretos con otras personas que sepan el secreto de la encriptación utilizada.
// Las "llaves" de encriptación que utilizaremos son las siguientes:
// 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"
// Requisitos:
// - Debe funcionar solo con letras minúsculas
// - No deben ser utilizados letras con acentos ni caracteres especiales
// - Debe ser posible convertir una palabra para la versión encriptada también devolver una palabra encriptada para su versión original.
// Por ejemplo:
// "gato" => "gaitober"
// gaitober" => "gato"
// La página debe tener campos para
// inserción del texto que será encriptado o desencriptado, y el usuario debe poder escoger entre as dos opciones.
// El resultado debe ser mostrado en la pantalla.
// Extras:
// - Un botón que copie el texto encriptado/desencriptado para la sección de transferencia, o sea que tenga la misma funcionalidad del ctrl+C o de la opción "copiar" del menú de las aplicaciones.
// Tenemos un periodo de tiempo de cuatro semanas para desarrollar el proyecto y vamos a trabajar con el sistema ágil de desarrollo, utilizando el Trello de la siguiente forma:
// La columna Listos para iniciar presenta las tarjetas con elementos que aun no fueron desarrollados.
// En la columna En Desarrollo estarán los elementos que estés desarrollando en el momento. Al iniciar una tarea, podrás mover la tarjeta que contiene dicha tarea para esta columna.
// En la columna Pausado estarán los elementos que comenzaste a desarrollar, pero necesitaste parar por algún motivo.
// Por fin, en la columna Concluido estarán los elementos ya concluidos.
// El Trello es una herramienta de uso individual para que puedas controlar el progreso de tus actividades, pero no será evaluada.
// Desencripta nuestro mensaje secreto!
// fenterlimescimesdaidenters poberr enternfrenterntair enterstenter dentersaifimesober y haibenterrlober cobernclufatimesdober cobern enterximestober!
// Buen proyecto!