mirror of
https://github.com/LucasVbr/password-generator.git
synced 2026-05-13 17:21:57 +00:00
99 lines
3.3 KiB
HTML
99 lines
3.3 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<link href="styles/style.css" rel="stylesheet">
|
|
<title>Générateur de MDP</title>
|
|
</head>
|
|
|
|
<body onload="init()">
|
|
<div class="container">
|
|
|
|
<!-- Resultat -->
|
|
<div class="resultat">
|
|
<span id="password">Générateur de mot de passe</span>
|
|
</div>
|
|
|
|
<div>
|
|
<label id="nbDigits-range-label"
|
|
for="nbDigits-range">Longueur ()</label>
|
|
<input type="range" name="nbDigits-range" id="nbDigits-range"
|
|
value="16" min="4" , max="40" step="1">
|
|
</div>
|
|
|
|
<!-- Paramètres -->
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<input type="checkbox"
|
|
id="caps-checkbox" name="caps-checkbox">
|
|
<label for="caps-checkbox">Majuscules</label>
|
|
</td>
|
|
<td>
|
|
<input type="checkbox"
|
|
id="numbers-checkbox" name="numbers-checkbox">
|
|
<label for="numbers-checkbox">Nombres</label>
|
|
</td>
|
|
<td>
|
|
<input type="checkbox"
|
|
id="specials-checkbox" name="specials-checkbox">
|
|
<label for="specials-checkbox">Caractères spéciaux</label>
|
|
</td>
|
|
<td>
|
|
<input type="button"
|
|
id="submit-button" value="Generate">
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<script src="scripts/main.js"></script>
|
|
<script>
|
|
|
|
function init() {
|
|
updateNbDigitsRange()
|
|
generate()
|
|
}
|
|
|
|
function generate() {
|
|
/* Values */
|
|
var nbDigits = nbDigitsRange.value
|
|
var hasCaps = capsCheckBox.checked;
|
|
var hasNumbers = numbersCheckBox.checked;
|
|
var hasSpecials = specialsCheckBox.checked;
|
|
|
|
var passwordGenerated = generatePassword(nbDigits,
|
|
hasCaps,
|
|
hasNumbers,
|
|
hasSpecials)
|
|
|
|
password.innerHTML = passwordGenerated
|
|
}
|
|
|
|
function updateNbDigitsRange() {
|
|
var nbDigits = nbDigitsRange.value
|
|
nbDigitsRangeLabel.innerHTML = `Longueur (${nbDigits})`
|
|
}
|
|
|
|
/* HTML Elements */
|
|
let capsCheckBox = document.getElementById("caps-checkbox");
|
|
let numbersCheckBox = document.getElementById("numbers-checkbox");
|
|
let specialsCheckBox = document.getElementById("specials-checkbox");
|
|
let nbDigitsRange = document.getElementById("nbDigits-range");
|
|
let passwordInput = document.getElementById("password");
|
|
let nbDigitsRangeLabel = document.getElementById("nbDigits-range-label")
|
|
let submitButton = document.getElementById("submit-button");
|
|
|
|
/* Events */
|
|
capsCheckBox.addEventListener("input", () => generate())
|
|
numbersCheckBox.addEventListener("input", () => generate())
|
|
specialsCheckBox.addEventListener("input", () => generate())
|
|
submitButton.addEventListener("click", () => generate())
|
|
nbDigitsRange.addEventListener("input", () => {
|
|
updateNbDigitsRange()
|
|
generate()
|
|
})
|
|
</script>
|
|
</body>
|
|
|
|
</html> |