Password strength meter
How do I make an password strength meter?
An experiment for my upcoming CSS Tricks article to use the HTML5 meter element to implement the password strength indicator.. What is a password strength meter? How do you make a password strength meter? This script and codes were developed by Pankaj Parashar on 12 August 2022, Friday.
Password strength meter - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Password strength meter</title> <script src="http://s.codepen.io/assets/libs/modernizr.js" type="text/javascript"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"> <link rel="stylesheet" href="css/style.css">
</head>
<body> <section> <label for="password">Enter password</label> <input type="password" name="password" id="password"> <meter max="4" id="password-strength-meter"></meter> <p id="password-strength-text"></p>
</section> <script src='https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/4.2.0/zxcvbn.js'></script> <script src="js/index.js"></script>
</body>
</html>
Password strength meter - Script Codes CSS Codes
@import url(https://fonts.googleapis.com/css?family=Signika:400,700|Courgette);
* { box-sizing: border-box;
}
body { padding: 2.5em 2em 0em; background: #f5f7f9; font-size: 1.5em; color: #346; font-family: Signika, -apple-system, sans-serif;
}
section { margin: 0em auto 0; width: 100%; max-width: 800px;
}
input { display: block; margin: .5em auto 0em; padding: 0.5em 1em 0.5em 0.7em; width: 100%; border: none; background: rgba(0,0,0,0.05); color: rgba(0,0,0,0.8); font-size: 2em; line-height: 0; -webkit-transition: all .5s linear; transition: all .5s linear;
}
input:hover, input:focus { outline: 0; -webkit-transition: all .5s linear; transition: all .5s linear; box-shadow: inset 0px 0px 10px #ccc;
}
meter { /* Reset the default appearance */ -webkit-appearance: none; -moz-appearance: none; appearance: none; margin: 0 auto 1em; width: 100%; height: .5em; /* Applicable only to Firefox */ background: none; background-color: rgba(0,0,0,0.1);
}
meter::-webkit-meter-bar { background: none; background-color: rgba(0,0,0,0.1);
}
meter[value="1"]::-webkit-meter-optimum-value { background: red; }
meter[value="2"]::-webkit-meter-optimum-value { background: yellow; }
meter[value="3"]::-webkit-meter-optimum-value { background: orange; }
meter[value="4"]::-webkit-meter-optimum-value { background: green; }
meter[value="1"]::-moz-meter-bar { background: red; }
meter[value="2"]::-moz-meter-bar { background: yellow; }
meter[value="3"]::-moz-meter-bar { background: orange; }
meter[value="4"]::-moz-meter-bar { background: green; }
.feedback { color: #9ab; font-size: 90%; padding: 0 .25em; font-family: Courgette, cursive; margin-top: 1em;
}
Password strength meter - Script Codes JS Codes
var strength = { 0: "Worst ☹", 1: "Bad ☹", 2: "Weak ☹", 3: "Good ☺", 4: "Strong ☻"
}
var password = document.getElementById('password');
var meter = document.getElementById('password-strength-meter');
var text = document.getElementById('password-strength-text');
password.addEventListener('input', function()
{ var val = password.value; var result = zxcvbn(val); // Update the password strength meter meter.value = result.score; // Update the text indicator if(val !== "") { text.innerHTML = "Strength: " + "<strong>" + strength[result.score] + "</strong>" + "<span class='feedback'>" + result.feedback.warning + " " + result.feedback.suggestions + "</span"; } else { text.innerHTML = ""; }
});
Developer | Pankaj Parashar |
Username | pankajparashar |
Uploaded | August 12, 2022 |
Rating | 4 |
Size | 2,776 Kb |
Views | 50,600 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Fantasy Form | 7,314 Kb |
Arsenal vs Tottenham - Match Day 3 | 4,184 Kb |
Minimal business card | 2,447 Kb |
Animated Color Schemes | 3,286 Kb |
Pure CSS Tags | 2,089 Kb |
Reading Position Indicator | 5,454 Kb |
Pure CSS Calendar Icon | 2,221 Kb |
Webkit Scrollbars | 4,059 Kb |
OSX-style Disk Usage | 3,849 Kb |
Skillset using HTML5 progress bars with CSS3 animations | 5,923 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
SVG Animation | Pollardld | 3,133 Kb |
Importable Clearfix | Corysimmons | 1,411 Kb |
Sticky div | Kaslab | 2,225 Kb |
Animated Logo | Shakdaniel | 2,672 Kb |
Responsive Table-less Shopping Cart | Alex_rodrigues | 6,637 Kb |
SVG Circle Progress | JMChristensen | 3,368 Kb |
RPG Style Text Dialogue | Odylic | 2,635 Kb |
Buttons for autumn | Nikazawila | 1,795 Kb |
Animated bar chart | CreativePunch | 3,124 Kb |
Canvas snow | Win7killer | 2,572 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!