-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
117 lines (91 loc) · 3.4 KB
/
script.js
File metadata and controls
117 lines (91 loc) · 3.4 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
109
110
111
112
113
114
115
116
117
var enter;
var confirmNumber;
var confirmCharacter;
var confirmUppercase;
var confirmLowercase;
character = ["!", "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", "-", ".", "/", "\:", "\;", " < ", "=", " > ", " ? ", "@", "[", "\\", "]", " ^ ", "_", "`", "{", "|", "}", "~"];
number = [1, 2, 3, 4, 5, 6, 7, 8, 9];
alpha = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
space = [];
var choices;
var toUpper = function (x) {
return x.toUpperCase();
};
alpha2 = alpha.map(toUpper);
var get = document.querySelector("#generate");
get.addEventListener("click", function () {
ps = generatePassword();
document.getElementById("password").placeholder = ps;
});
function generatePassword() {
enter = parseInt(prompt("How many characters would you like your password? Choose between 8 and 128"));
if (!enter) {
alert("Something needs to go in there");
} else if (enter < 8 || enter > 128) {
enter = parseInt(prompt("You must choose between 8 and 128"));
} else {
confirmNumber = confirm("Do you want it to contain numbers?");
confirmCharacter = confirm("How about special characters?");
confirmUppercase = confirm("And contain uppercase letters?");
confirmLowercase = confirm("Lastly, do you want it to contain lowercase letters?");
};
if (!confirmCharacter && !confirmNumber && !confirmUppercase && !confirmLowercase) {
choices = alert("You must choose!");
}
else if (confirmCharacter && confirmNumber && confirmUppercase && confirmLowercase) {
choices = character.concat(number, alpha, alpha2);
}
else if (confirmCharacter && confirmNumber && confirmUppercase) {
choices = character.concat(number, alpha2);
}
else if (confirmCharacter && confirmNumber && confirmLowercase) {
choices = character.concat(number, alpha);
}
else if (confirmCharacter && confirmLowercase && confirmUppercase) {
choices = character.concat(alpha, alpha2);
}
else if (confirmNumber && confirmLowercase && confirmUppercase) {
choices = number.concat(alpha, alpha2);
}
else if (confirmCharacter && confirmNumber) {
choices = character.concat(number);
}
else if (confirmCharacter && confirmLowercase) {
choices = character.concat(alpha);
}
else if (confirmCharacter && confirmUppercase) {
choices = character.concat(alpha2);
}
else if (confirmLowercase && confirmNumber) {
choices = alpha.concat(number);
}
else if (confirmLowercase && confirmUppercase) {
choices = alpha.concat(alpha2);
}
else if (confirmNumber && confirmUppercase) {
choices = number.concat(alpha2);
}
else if (confirmCharacter) {
choices = character;
}
else if (confirmNumber) {
choices = number;
}
else if (confirmLowercase) {
choices = alpha;
}
else if (confirmUppercase) {
choices = space.concat(alpha2);
};
var password = [];
for (var i = 0; i < enter; i++) {
var pickChoices = choices[Math.floor(Math.random() * choices.length)];
password.push(pickChoices);
}
var ps = password.join("");
UserInput(ps);
return ps;
}
function UserInput(ps) {
document.getElementById("password").textContent = ps;
}