I\'m trying to write a password validator.
How can I see if my supplied string contains at least 3 different character groups?
It\'s easy enough to check if
May as well join in on the fun:
String.prototype.isValidPW = function(){
// First, check for at least 8 characters
if (this.length < 8) return false;
// next, check that we have at least 3 matches
var re = [/\d/, /[A-Z]/, /[a-z]/, /[!@#$%&\/=?_.,:;-]/], m = 0;
for (var r = 0; r < re.length; r++){
if ((this.match(re[r]) || []).length > 0) m++;
}
return m >= 3;
};
if ("P@ssW0rd".isValidPW()) alert('Acceptable!');
Demo