Michael Drum Michael Drum - 3 days ago 6
Javascript Question

How do I check if a string contains at least one number, letter, and character that is neither a number or letter?

The language is javascript.

Strings that would pass:


JavaScript1*

Pu54 325

()9c


Strings that would not pass:


654fff

%^(dFE


I tried the following:

var matches = password.match(/\d+/g);
if(matches != null)
{
//password contains a number
//check to see if string contains a letter
if(password.match(/[a-z]/i))
{
//string contains a letter and a number
}
}

Answer

You can use Regex:

I took it from here: Regex for Password

var checkPassword(password){
    return !!password.match(/(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{3,}$/);
}

I use this Regex:

Minimum 3 characters at least 1 Alphabet, 1 Number and 1 Special Character:

"^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{3,}$"
Comments