<h3>Using regular expressions to validate a strong password.</h3>
<p>In this practice set, you are going to add some regular expressions to a simple password entry form.</p>
<p>We have already created the form and the event listener, you simply need to fill in the regular expressions for the following password validation checks:</p>
<ol>
<li>Password must contain at least 8 characters.</li>
<li>Password must contain an uppercase letter.</li>
<li>Password must contain a lowercase letter.</li>
<li>Password must contain a number.</li>
<li>Password must contain a special character.</li>
</ol>
<form autocomplete="off" action="" name="passwordForm">
<fieldset name="passwordEntry">
<br>Password:
<br>
<input size="30" required="required" placeholder="password" name="pwdvalidate" id="pwdvalidate" type="password">
<br> <span class="hint" id="pwdHint">Password must be at least 8 characters and must contain uppercase & lowercase letters, a number, and a special character.</span>
<br>
<br>
<button type="submit" id="submitBtn" name="submit">Check Password</button>
<br>
<legend>Enter a strong password.</legend>
</fieldset>
<br>
</form>
JavaScript
var formPasswordForm = document.forms["passwordForm"];
var elemPW = document.getElementById("pwdvalidate");
var bPasswordPasses = false;
function fnValidatePassword(evt) {
// enter your regular expression to check for at least 8 characters here
var regexPasswordLength = /.{6,}/; // test for at least 8 characters
// enter your regular expression to check for an uppercase letter here
var regexPasswordContainsUpperCase = /[A-Z]/; //test for uppercase letter
// enter your regular expression to check for a lowercase letter here
var regexPasswordContainsLowerCase = /[a-z]/; //test for lowercase letter
// enter your regular expression to check for a number here
var regexPasswordContainsNumber = /\d/; //test for number
// enter your regular expression to check for a special character here
var regexPasswordContainsSpecialChar = /\W/; //test for special character
bPasswordPasses = true;
if (!regexPasswordLength.test(elemPW.value)) {
pwdHint.innerHTML = 'Password must be at least 8 characters.';
pwdHint.style.display = "inline";
bPasswordPasses = false;
}
if (!regexPasswordContainsUpperCase.test(elemPW.value)) {
pwdHint.innerHTML = 'Password must contain an uppercase character.';
pwdHint.style.display = "inline";
bPasswordPasses = false;
}
if (!regexPasswordContainsLowerCase.test(elemPW.value)) {
pwdHint.innerHTML = 'Password must contain an lowercase character.';
pwdHint.style.display = "inline";
bPasswordPasses = false;
}
if (!regexPasswordContainsNumber.test(elemPW.value)) {
pwdHint.innerHTML = 'Password must contain a number.';
pwdHint.style.display = "inline";
bPasswordPasses = false;
}
if (!regexPasswordContainsSpecialChar.test(elemPW.value)) {
pwdHint.innerHTML = 'Password must contain a special character.';
pwdHint.style.display = "inline";
bPasswordPasses =...
Please Whitelist JSFiddle in your content blocker.
Help keep JSFiddle free for always by one of two ways:
Whitelist JSFiddle in your content blocker (two clicks)
Go PRO and get access to additional PRO features →
Join the 4+ million users, and keep the JSFiddle dream alive.
Ad-free
All ads in the editor and listing pages are turned completely off.
Use pre-released features
You get to try and use features (like the Palette Color Generator) months before everyone else.
Fiddle collections
Sort and categorize your Fiddles into multiple collections.
Private collections and fiddles
You can make as many Private Fiddles, and Private Collections as you wish!
Console
Debug your Fiddle with a minimal built-in JavaScript console.