Regex for checking that at least 3 of 4 different character groups exist

后端 未结 6 660
一个人的身影
一个人的身影 2020-12-01 13:04

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

6条回答
  •  时光取名叫无心
    2020-12-01 13:12

    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

提交回复
热议问题