Bug fixes and a shit ton of new content!
This commit is contained in:
57
oldprojects/pass/password.js
Normal file
57
oldprojects/pass/password.js
Normal file
@@ -0,0 +1,57 @@
|
||||
function generatePassword() {
|
||||
let length = document.querySelector('[name=length]').value;
|
||||
let includeNumbers = document.querySelector('[name=numbers]').checked;
|
||||
let includeLowerCase = document.querySelector('[name=lowercase]').checked;
|
||||
let includeUpperCase = document.querySelector('[name=uppercase]').checked;
|
||||
let includeSpecialChars = document.querySelector('[name=specialChars]').checked;
|
||||
|
||||
let result = '';
|
||||
let chars = '';
|
||||
|
||||
if (includeNumbers) {
|
||||
chars += '0123456789';
|
||||
}
|
||||
if (includeLowerCase) {
|
||||
chars += 'abcdefghijklmnopqrstuvwxyz';
|
||||
}
|
||||
if (includeUpperCase) {
|
||||
chars += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
||||
}
|
||||
if (includeSpecialChars) {
|
||||
chars += '!@#$%^&*()_+~`|}{[]:;?><,./-=';
|
||||
}
|
||||
|
||||
if (chars.length === 0) {
|
||||
alert('Please select at least one type of character to include.');
|
||||
return;
|
||||
}
|
||||
|
||||
result += '\n';
|
||||
for (let i = 0; i < length; i++) {
|
||||
result += chars.charAt(Math.floor(Math.random() * chars.length));
|
||||
}
|
||||
document.getElementById('password-container').style.display = 'block';
|
||||
document.getElementById('password').textContent = result;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
let password = document.getElementById('password').textContent.trim();
|
||||
let input = document.createElement('textarea');
|
||||
input.style.position = 'fixed';
|
||||
input.style.opacity = 0;
|
||||
input.value = password.match(/[^\r\n]+\r?\n?\r?/gm).pop().trim();
|
||||
document.body.appendChild(input);
|
||||
input.select();
|
||||
document.execCommand('copy');
|
||||
document.body.removeChild(input);
|
||||
|
||||
clearCheckmarks();
|
||||
alert('Password copied to clipboard!');
|
||||
}
|
||||
|
||||
function clearCheckmarks() {
|
||||
let password = document.getElementById('password');
|
||||
let text = password.textContent.trim().split('\n');
|
||||
text.pop();
|
||||
password.textContent = text.join('\n');
|
||||
}
|
||||
Reference in New Issue
Block a user