I want it to check if the user entered the correct format for the password (which is at least one lowercase, one uppercase, one number, eight or more characters, and one special character) but I couldn't get it to validate.
JS:
var Pass = document.getElementById('password');
function validatePassword() {
if (Pass.value.match(/^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{8,}$/)) {
document.getElementById('pass').innerHTML =
'Invalid password. Please follow the format.';
return false;
}
}
adding more expression will help. for checking the cap and small letters. Also for checking the password, you need some sort of button to use it as a trigger to call the function.
or u can use "oninput" event listener.
var Pass = document.getElementById('password');
// lets say your validator button hase id of validate;
let validator=document.getElementById("validate");
validator.onclick=validatePassword(Pass.value);
// or use on input method like
Pass.oninput=validatePassword(Pass.value);
function validatePassword(value) {
let reg=/^(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9!@#$%^&*]{8,}$/;
if (!reg.test(value) {
Pass.innerHTML =
'Invalid password. Please follow the format.';
return false;
}
return true;
}