-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
77 lines (68 loc) · 2.37 KB
/
script.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
button_encrypt = document.querySelector("[button-encrypt]");
button_decrypt = document.querySelector("[button-decrypt]");
button_copy = document.querySelector("[copy-text]");
const dataToEnpcrypt = {
a: "ai",
e: "enter",
i: "imes",
o: "ober",
u: "ufat"
}
const dataToDepcrypt = {
ai: "a",
enter: "e",
imes: "i",
ober: "o",
ufat: "u"
}
const displayMessage = document.querySelector("[display-message]");
const displayEmpty = document.querySelector("[display-empty]");
const inputEncrypt = document.querySelector("[input-encrypter]");
const textMessage = document.querySelector("[write-message]");
const displayMessajeEncrypted = (hasMessage) =>{
if(hasMessage){
displayEmpty.classList.remove("show__element");
displayEmpty.classList.add("hide__element");
displayMessage.classList.remove("hide__element");
displayMessage.classList.add("display__message");
} else {
displayEmpty.classList.remove("hide__element");
displayEmpty.classList.add("show__element");
displayMessage.classList.remove("display__message");
displayMessage.classList.add("hide__element");
}
};
const encrypt = () => {
expresion = /[aeiou]/g
const message = inputEncrypt.value;
let encrypted = "";
index = 0
while ((result = expresion.exec(message))) {
encrypted += message.substring(index, expresion.lastIndex-1) + dataToEnpcrypt[result[0]];
index = expresion.lastIndex;
}
encrypted += message.substring(index);
textMessage.textContent = encrypted;
displayMessajeEncrypted(encrypted.length > 0);
inputEncrypt.value = "";
}
const decrypt = () => {
expresion = /ai|enter|imes|ober|ufat/g
const message = inputEncrypt.value;
let decrypted = "";
index = 0
while ((result = expresion.exec(message))) {
decrypted += message.substring(index, expresion.lastIndex-(result[0].length)) + dataToDepcrypt[result[0]];
index = expresion.lastIndex;
}
decrypted += message.substring(index);
textMessage.textContent = decrypted;
displayMessajeEncrypted(decrypted.length > 0);
inputEncrypt.value = "";
}
const copy = () =>{
navigator.clipboard.writeText(textMessage.textContent);
}
button_encrypt.addEventListener("click", encrypt);
button_decrypt.addEventListener("click", decrypt);
button_copy.addEventListener("click", copy);