Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions randomPassword/abhinavkulmitra/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
// selecting each element
var rangeValue = document.querySelector('.form-control-range');
var checkCapitalLetters = document.querySelector('#defaultCheck2');
var checkSymbols = document.querySelector('#defaultCheck3');
var checkNumbers = document.querySelector('#defaultCheck4');
var textDiv = document.querySelector('.showPassword');



//click-event in submit btn
document.querySelector('.submit').addEventListener('click',generatePasswords);



// function to generate password
function generatePasswords() {

textDiv.innerHTML = "Your brand-new password: ";

var passwordArr = [];
var smletter = 'abcdefghijklmnpqrstuvwxyz';
var capletter = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';
var sym = '!@#$%^&*()';
var num = '0123456789';
var sumOfall = smletter + capletter + sym + num;


// getting a random set for the password array
for(i=0; i<= rangeValue.value/4; i++)
{

passwordArr.push(smletter.charAt(Math.floor((Math.random() * 26) + 1)));

if(checkCapitalLetters.checked)
{
passwordArr.push(capletter.charAt(Math.floor((Math.random() * 26) + 1)));
};

if(checkNumbers.checked) {
passwordArr.push(num.charAt(Math.floor((Math.random() * 10) + 1)));
}

if(checkSymbols.checked) {
passwordArr.push(sym.charAt(Math.floor((Math.random() *10) + 1)));
}
};


// getting the leftover elements
if(passwordArr.length !== rangeValue.value) {
for(i=0; i<(rangeValue.value-passwordArr.length); i++) {

passwordArr.push(sumOfall.charAt(Math.floor((Math.random() * 26) + 1)));

}

}


// to shuffle the array's element - Fisher-Yates algorithm.
for(i=passwordArr.length - 1; i>0; i--){

var j = Math.floor(Math.random() * i);

var temp = passwordArr[i];

passwordArr[i] = passwordArr[j];

passwordArr[j] = temp;

};

passwordArr.forEach(cur => textDiv.innerHTML += cur);

};
56 changes: 56 additions & 0 deletions randomPassword/abhinavkulmitra/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<html>
<head>
<title>Random Password Generator</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
</head>
<body>
<div class="container">

<form>
<div class="form-group">
<label for="formControlRange">Password Length
</label>
<input type="range" min='6' max= "32" class="form-control-range" id="formControlRange">
</div>
<div class="form-check">
<input class="form-check-input :checked" type="checkbox" value="" id="defaultCheck2" checked disabled>
<label class="form-check-label" for="defaultCheck2">
Small letters
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="capital-letters" id="defaultCheck2">
<label class="form-check-label" for="defaultCheck1">
Capital letters
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="symbols" id="defaultCheck3">
<label class="form-check-label" for="defaultCheck1">
Symbols
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="Numbers" id="defaultCheck4">
<label class="form-check-label" for="defaultCheck1">
Numbers
</label>
</div>
</form>

<button type="submit" class="btn btn-primary submit">Submit</button>

</div>

<div class="container showPassword">

</div>
</div>
</body>

<script src="app.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script>

</html>