Skip to content Skip to sidebar Skip to footer

Regex For Password: "atleast 1 Letter, 1 Number, 1 Special Character And Should Not Start With A Special Character"

I need a regular expression for a password field. The requirement is: The password Must be 8 to 20 characters in length Must contain at least one letter and one number and a speci

Solution 1:

Its simple, just add one more character class at the begining

^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()_+])[A-Za-z\d][A-Za-z\d!@#$%^&*()_+]{7,19}$
  • [A-Za-z\d] Ensures that the first character is an alphabet or digit.

  • [A-Za-z\d!@#$%^&*()_+]{7,19} will match minimum 7 maximum 19 character. This is required as he presceding character class would consume a single character making the total number of characters in the string as minimum 8 and maximum 20.

  • $ Anchors the regex at the end of the string. Ensures that there is nothing following our valid password

Regex Demo

var pattern = newRegExp(/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*()_+])[A-Za-z\d][A-Za-z\d!@#$%^&*()_+]{7,19}$/);

console.log(pattern.test("!@#123asdf!@#"));

console.log(pattern.test("123asdf!@#"));

console.log(pattern.test("12as#"));

Post a Comment for "Regex For Password: "atleast 1 Letter, 1 Number, 1 Special Character And Should Not Start With A Special Character""