-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
157 lines (145 loc) · 5.24 KB
/
app.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
// VARIABLES
const caracteresEsp = /[\u0022-\u002B\u002F\u0030-\u0039\u003C-\u003E\u0040-\u0060\u007B-\u007E\u00A2-\u00BF\u00C0-\u00FF\u0100-\u017F\u0180-\u024F]/g;
// caracteresEsp: excluye elementos del latín básico, latín suplemento, latín extendido A y B (uso UNICODE). Sí se permite: !¡,.:;-¿?
// ESTADO DE LA PAGINA AL INICIO
function condicionesIniciales(){
document.getElementById("mensajeInicial").value = "";
document.getElementById("ocultar").style.display= "block";
document.getElementById("mensajeFinal").style.display= "none";
document.getElementById("copiar").style.display= "none";
}
// FUNCION PARA ENCRIPTAR TEXTO
function encriptar(){
let texto = document.getElementById("mensajeInicial").value;
let textoCifrado = texto
.replaceAll("e", "enter")
.replaceAll("i", "imes")
.replaceAll("a", "ai")
.replaceAll("o", "ober")
.replaceAll("u", "ufat");
if (texto.match(caracteresEsp)){ //Valida que no haya caracteres especiales
mensajeError();
} else if (texto.length != "" && !texto.match(caracteresEsp)) { //solo encripta si no hay caracteres especiales
document.getElementById("mensajeFinal").value = textoCifrado;
cambioDisplay();
} else {
mensajeCampoVacio();
}
}
// FUNCION PARA DESENCRIPTAR TEXTO
function desencriptar(){
let textoCifrado = document.getElementById("mensajeInicial").value;
let texto = textoCifrado
.replaceAll("enter", "e")
.replaceAll("imes", "i")
.replaceAll("ai", "a")
.replaceAll("ober", "o")
.replaceAll("ufat", "u");
if (textoCifrado.match(caracteresEsp)){ //Valida que no haya caracteres especiales
mensajeError();
} else if (textoCifrado.length != "" && !texto.match(caracteresEsp)) { //solo desencripta si no hay caracteres especiales
document.getElementById("mensajeFinal").value = texto;
cambioDisplay();
} else {
mensajeCampoVacio();
}
}
// OCULTA LA IMAGEN Y MUESTRA EL TEXTO ENCRIPTADO/DESENCRIPTADO
function cambioDisplay(){
document.getElementById("mensajeInicial").value = "";
document.getElementById("ocultar").style.display= "none";
document.getElementById("mensajeFinal").style.display= "block";
document.getElementById("copiar").style.display= "block";
}
// COPIA EL TEXTO ENCRIPTADO/DESENCRIPTADO EN EL PORTAPAPELES
function copiarTexto(){
var resultado = document.getElementById("mensajeFinal").value;
if (resultado.length != 0) {
navigator.clipboard.writeText(resultado);
mensajeExitoCopiar();
} else {
mensajeCampoVacioCopiar();
}
}
// MENSAJES POPUP
// Ahora son funcionales pero faltaría revisar cómo acortar el código.
function mensajeCampoVacio(){
var textarea = document.getElementById("mensajeInicial").value;
var textarea2 = document.getElementById("mensajeInicial").value;
if (textarea === "" || textarea2 === "") {
Swal.fire({
html: '<p class="popup__texto">Ingresa el texto que desees encriptar o desencriptar</p>',
confirmButtonText: 'Aceptar',
customClass: {
popup:'popup__box',
closeButton:'popup__closeButton',
confirmButton:'popup__button',
},
confirmButtonAriaLabel: 'Aceptar',
buttonsStyling: false,
showCloseButton: true,
closeButtonArialLabel: 'cerrar alerta',
imageUrl: 'assets/Exclamation.png',
imageWidth: '80px',
imageAlt: 'icono de exclamación o alerta',
});
}
}
function mensajeError(){
Swal.fire({
html: '<p class="popup__texto">No acepta mayúsculas, acentos o carácteres especiales.<br>Sí se pueden usar signos de puntuación como: , . : ; - ¿? !¡</p>',
confirmButtonText: 'Aceptar',
customClass: {
popup:'popup__box',
closeButton:'popup__closeButton',
confirmButton:'popup__button',
},
confirmButtonAriaLabel: 'Aceptar',
buttonsStyling: false,
showCloseButton: true,
closeButtonArialLabel: 'cerrar alerta',
imageUrl: 'assets/Exclamation.png',
imageWidth: '80px',
imageAlt: 'icono de exclamación o alerta',
});
}
function mensajeCampoVacioCopiar(){
var textareaValue = document.getElementById("mensajeFinal").value;
if (textareaValue.trim() === "") {
Swal.fire({
html: '<p class="popup__texto">No hay mensaje para copiar</p>',
confirmButtonText: 'Aceptar',
customClass: {
popup:'popup__box',
closeButton:'popup__closeButton',
confirmButton:'popup__button',
},
confirmButtonAriaLabel: 'Aceptar',
buttonsStyling: false,
showCloseButton: true,
closeButtonArialLabel: 'cerrar alerta',
imageUrl: 'assets/Exclamation.png',
imageWidth: '80px',
imageAlt: 'icono de exclamación o alerta',
});
}
}
function mensajeExitoCopiar(){
Swal.fire({
html: '<p class="popup__texto">El mensaje encriptado se ha copiado en el portapapeles</p>',
confirmButtonText: 'Aceptar',
customClass: {
popup:'popup__box',
closeButton:'popup__closeButton',
confirmButton:'popup__button',
},
confirmButtonAriaLabel: 'Aceptar',
buttonsStyling: false,
showCloseButton: true,
closeButtonArialLabel: 'cerrar alerta',
imageUrl: 'assets/Check.png',
imageWidth: '80px',
imageAlt: 'icono de check o éxito',
});
}
condicionesIniciales();