Inside this article we will see the concept i.e Password Generator with Strength Checker in JavaScript Example Tutorial. Article contains the classified information about Building a Simple Password Strength Checker in Javascript.
Having a secured and strong password is always important to web applications to avoid the chances of Brute force attack or any other security breach.
Read More: How To Encrypt and Verify Password in PHP Tutorial
Let’s get started.
Application Programming
Create a folder say password-generator in your localhost directory. Create two files into it:
- index.html
- validate.js
Design Sign Up Form
Open index.html and write this code into it. It will create the frontend form where user can generate password.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Password Generator with Strength Checker in JavaScript</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="validate.js"></script>
<style>
#strengthWrapper {
width: 200px;
height: 35px;
border-radius: 3px;
}
</style>
</head>
<body>
<div class="container">
<h4>Password Generator with Strength Checker in JavaScript</h4>
<br><br>
<div class="row">
<div class="col-md-6">
<div class="col-md-12">
<form name="form" class="form" action="#" method="post">
<div class="row">
<div class="form-group col-md-6" style="padding: 0px 2px 0px 15px">
<input type="text" name="password" id="password" class="form-control" placeholder="Password..">
</div>
<div class="form-group col-md-4" style="padding: 1px 2px 3px 1px">
<input type="button" id="generatePassword" class="btn btn-primary btn-md" value="Generate Password">
</div>
</div>
<div class="row hidden" id="strengthSection">
<div class="form-group col-md-6">
<div id="strengthWrapper">
<div class="form-control" id="strength"></div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</body>
</html>Read More: Useful JavaScript console.log() Tricks Which You Need To Know
Strong Password Generator Settings
Open validate.js file and write this complete code into it.
$(document).ready(function() {
$("#password").keyup(function() {
validatePassword();
});
$("#generatePassword").click(function() {
var password = Array(20).fill('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~!@-#$')
.map(x => x[Math.floor(crypto.getRandomValues(new Uint32Array(1))[0] / (0xffffffff + 1) * x.length)]).join('');
$("#password").val(password);
validatePassword();
});
});
function validatePassword() {
var pass = $("#password").val();
if (pass != "") {
$("#strengthSection").removeClass('hidden');
if (pass.length <= 8) {
$("#strength").css("background-color", "#FF0000").text("Very Weak").animate({ width: '200px' }, 300);
}
if (pass.length > 8 && (pass.match(/[a-z]/) || pass.match(/\d+/) || pass.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/))) {
$("#strength").css("background-color", "#F5BCA9").text("Weak").animate({ width: '200px' }, 300);
}
if (pass.length > 8 && ((pass.match(/[a-z]/) && pass.match(/\d+/)) || (pass.match(/\d+/) && pass.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) || (pass.match(/[a-z]/) && pass.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)))) {
$("#strength").css("background-color", "#FF8000").text("Good").animate({ width: '200px' }, 300);
}
if (pass.length > 8 && pass.match(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\s).{8,24}$/)) {
$("#strength").css("background-color", "#00FF40").text("Strong").animate({ width: '200px' }, 300);
}
} else {
$("#strength").animate({ width: '200px' }, 300);
$("#strengthSection").addClass('hidden');
}
}
Application Testing
Open browser and type your application URL:
URL: http://localhost/password-generator/index.html
Whenever you type any password value into input, it will check it’s strength.

Read More: Laravel Check For File Existence Inside Storage Location
Next, if you want to generate a strong password instead of typing. Click on Generate Password button.

We hope this article helped you to learn Password Generator with Strength Checker in JavaScript Tutorial in a very detailed way.
If you liked this article, then please subscribe to our YouTube Channel for PHP & it’s framework, WordPress, Node Js video tutorials. You can also find us on Twitter and Facebook.
Read more