mirror of
https://github.com/LucasVbr/password-generator.git
synced 2026-05-13 17:21:57 +00:00
Init
This commit is contained in:
+69
@@ -0,0 +1,69 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link href="styles/style.css" rel="stylesheet">
|
||||
<title>Générateur de MDP</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
|
||||
<!-- Resultat -->
|
||||
<div>
|
||||
<span id="password">Générateur de mot de passe</span>
|
||||
</div>
|
||||
|
||||
<!-- Paramètres -->
|
||||
<fieldset>
|
||||
<legend>Paramètres :</legend>
|
||||
<div>
|
||||
<input type="checkbox" id="caps-checkbox" name="caps-checkbox">
|
||||
<label for="caps-checkbox">Majuscules</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" id="numbers-checkbox" name="numbers-checkbox">
|
||||
<label for="numbers-checkbox">Nombres</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" id="specials-checkbox" name="specials-checkbox">
|
||||
<label for="specials-checkbox">Caractères spéciaux</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="range" name="nbDigits-range" id="nbDigits-range" min="1" , max="25" step="1">
|
||||
<label for="nbDigits-range">Nombre de caractères</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="button" id="submit-button" value="Generate" onclick="generate()">
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="scripts/main.js"></script>
|
||||
<script>
|
||||
|
||||
function generate() {
|
||||
/* 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");
|
||||
|
||||
/* 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
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,26 @@
|
||||
function generatePassword(nbDigits, caps, numbers, specials) {
|
||||
var resultat = ""
|
||||
|
||||
for (let i = 0; i < nbDigits ; i++) {
|
||||
resultat += generateCharacter(caps, numbers, specials)
|
||||
}
|
||||
|
||||
return resultat
|
||||
}
|
||||
|
||||
function generateCharacter(caps, numbers, specials) {
|
||||
var LETTERS_TABLE = "abcdefghijklmnopqrstuvwxyz"
|
||||
var CAPS_TABLE = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
var NUMBERS_TABLE = "0123456789"
|
||||
var SPECIALS_TABLE = "!#$%&'()*+,-./:;=?@[]^_`{|}~";
|
||||
|
||||
var resultat = LETTERS_TABLE
|
||||
|
||||
if (caps) resultat += CAPS_TABLE
|
||||
if (numbers) resultat += NUMBERS_TABLE
|
||||
if (specials) resultat += SPECIALS_TABLE
|
||||
|
||||
var randomNumber = Math.floor(Math.random() * resultat.length)
|
||||
|
||||
return resultat.charAt(randomNumber)
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
|
||||
background-color: #2c3e50;
|
||||
color: #ecf0f1;
|
||||
}
|
||||
|
||||
.container {
|
||||
text-align: center;
|
||||
height: 100%;
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.card {
|
||||
width: 500px;
|
||||
height: 700px;
|
||||
|
||||
margin: auto;
|
||||
padding: 25px;
|
||||
|
||||
background-color: #34495e;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
#password {
|
||||
background-color: #2c3e50;
|
||||
padding: 0 10px;
|
||||
font-size: 2em;
|
||||
border-radius: 10px;
|
||||
font-family : consolas
|
||||
}
|
||||
|
||||
fieldset div {
|
||||
text-align: left;
|
||||
}
|
||||
Reference in New Issue
Block a user