-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
99 lines (81 loc) · 2.79 KB
/
main.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
let lengthSlider=document.querySelector('.pass-length input ');
let btn=document.querySelector('.btn');
let options=document.querySelectorAll('.option input')
let passwordInput=document.querySelector('.inputbox input');
let passIndicator=document.querySelector('.pass-indicator');
let copyIcon=document.querySelector('.inputbox span');
let charcters={
lowercase:'abcdefghijklmnopqrstuvwxyz',
uppercase:'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
number:"0123456789",
symbols:"^@#$*(){}[]|_+*/<>/.;,:=|~%^&"
}
function genratePassword(){
let staticPassword="";
let passLength=lengthSlider.value;
let randomPassword="";
let duplicate=false;
options.forEach((option)=>{
if(option.checked){
// console.log(charcters[option.id]);
if(option.id!=='duplicate' && option.id!=='spaces'){
staticPassword =staticPassword+charcters[option.id];
}
else if(option.id==='spaces'){
staticPassword = ` ${staticPassword} `;
}
else{
duplicate=true;
}
}
})
for(let i=0;i<passLength;i++){
// console.log(staticPassword[Math.floor(Math.random()*10)] );
// randomPassword=randomPassword+staticPassword[Math.floor(Math.random()*staticPassword.length)];
let randomChar=staticPassword[Math.floor(Math.random()*staticPassword.length)];
if(duplicate){
// if(!randomPassword.includes(randomChar) || randomChar ==" "){
// randomPassword=randomPassword+randomChar;
// }
// else{
// i--;
// }
// or
!randomPassword.includes(randomChar) || randomChar==" "? (randomPassword=randomPassword+randomChar) :i--;
}else{
randomPassword=randomPassword+randomChar;
}
}
// console.log(randomPassword);
passwordInput.value=randomPassword;
}
function updateIndicator(){
passIndicator.id=lengthSlider.value<=8?"weak":lengthSlider.value<=16?"medium":"strong";
}
function updateSlider(){
// console.log(lengthSlider.value);
document.querySelector('.pass-length .value').innerText=lengthSlider.value;
if(lengthSlider.value<=8){
// lengthSlider.style.color="red"
// console.log(lengthSlider.value)
document.querySelector('.pass-length .value').style.color="red";
}else if(lengthSlider.value<=16){
document.querySelector('.pass-length .value').style.color="#f48c06";
}
else{
document.querySelector('.pass-length .value').style.color=" rgb(0, 131, 96)";
}
updateIndicator();
genratePassword();
}
updateSlider();
function copyPassword(){
navigator.clipboard.writeText(passwordInput.value);
copyIcon.innerText="check";
setTimeout(()=>{
copyIcon.innerText="content_copy";
},1600)
}
lengthSlider.addEventListener('input',updateSlider);
btn.addEventListener('click',genratePassword);
copyIcon.addEventListener('click',copyPassword);