-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
77 lines (73 loc) · 2.12 KB
/
Copy pathscript.js
File metadata and controls
77 lines (73 loc) · 2.12 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
const resultEl = document.getElementById("result");
const lengthEl = document.getElementById("length");
const uppercaseEl = document.getElementById("uppercase");
const lowercaseEl = document.getElementById("lowercase");
const numbersEl = document.getElementById("numbers");
const symbolsEl = document.getElementById("symbols");
const generateEl = document.getElementById("generate");
const clipboardEl = document.getElementById("clipboard");
clipboardEl.addEventListener("click", () => {
if (resultEl.innerHTML == "") {
alert("Generate Your Password First !");
} else {
try {
navigator.clipboard.writeText(resultEl.innerHTML);
resultEl.style.backgroundColor = "#B2B2B2";
setTimeout(() => {
resultEl.style.color = "yellow";
}, 3000);
alert(`Password has been copied : ${resultEl.innerText}`);
} catch (e) {
alert("operation failed", e);
}
}
});
// object
randomFunc = {
lower: function getRandomLower() {
return "abcdefghigklmnopqrstuvwxyz";
},
upper: function getRandomUpper() {
return "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
},
number: function getRandomNumber() {
return "0123456789";
},
symbol: function getRandomSymbol() {
return "!%.@$&*";
},
};
// click Event
generateEl.addEventListener("click", () => {
generatePassword(
randomFunc.lower(),
randomFunc.upper(),
randomFunc.number(),
randomFunc.symbol(),
lengthEl.value
);
});
function generatePassword(lowerCase, upperCase, number, symbol, length) {
let letters = "";
if (lowercaseEl.checked) {
letters = letters + lowerCase;
console.log(letters);
}
if (uppercaseEl.checked) {
letters = letters + upperCase;
console.log(letters);
}
if (numbersEl.checked) {
letters = letters + number;
console.log(letters);
}
if (symbolsEl.checked) {
letters = letters + symbol;
console.log(letters);
}
let randomPasswords = "";
for (let i = 0; i < length; i++) {
randomPasswords += letters[Math.floor(Math.random() * letters.length)];
}
resultEl.innerText = randomPasswords;
}