Help with password complexity regex

Posted by Alex on Stack Overflow See other posts from Stack Overflow or by Alex
Published on 2010-04-06T01:09:00Z Indexed on 2010/04/06 1:13 UTC
Read the original article Hit count: 511

Filed under:
|
|
|

I'm using the following regex to validate password complexity:

/^.*(?=.{6,12})(?=.*[0-9]{2})(?=.*[A-Z]{2})(?=.*[a-z]{2}).*$/

In a nutshell: 2 lowercase, 2 uppercase, 2 numbers, min length is 6 and max length is 12.

It works perfectly, except for the maximum length, when I'm using a minimum length as well.

For example:

/^.*(?=.{6,})(?=.*[0-9]{2})(?=.*[A-Z]{2})(?=.*[a-z]{2}).*$/

This correctly requires a minimum length of 6!

And this:

/^.*(?=.{,12})(?=.*[0-9]{2})(?=.*[A-Z]{2})(?=.*[a-z]{2}).*$/

Correctly requires a maximum length of 12.

However, when I pair them together as in the first example, it just doesn't work!!

What gives? Thanks!

© Stack Overflow or respective owner

Related posts about php

Related posts about regex