I have the following password requirements:
1) Should be 6-15 characters in length
2) Should have atleast one lowercase character
3) Should have atleast one
I'm not entirely sure what you mean by "special character" so I am interpreting this to mean \W
, but you can change this if you want:
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W)\S{6,15}$
Not sure I would use a Regex for that : regex are not always the right tool for any possible kind of job...
Here, you specified a list of 6 requirements ; so, why not just use 6 different tests, one per requirement ?
Those 6 different tests, should I add, would be really simple -- while a Regex would be much harder to write (you asked for help -- you would probably not have for the 6 tests).
This would make your code a lot more easier to understand, I'd bet ;-)
And also : easier to maintain ; and easier to add/remove/change one of the condition corresponding to one of the requirements.
1 => /^.{6,15}$/
2 => /[a-z]/
3 => /[A-Z]/
4 => /\d/
5 => /[#{special_chars_for_regex}]/
6 => /^\S*$/
Regexlib.com has tons of examples for you and a searchable database of reg ex's.