Jump to content

Check to make sure a password has at least one upper and one lower case letter


Recommended Posts

Hi,

 

I wonder if some one could help me.

 

I am trying to set up a few rules to make sure that users create safe passwords on my site:

 

I have the below check which makes sure that the user enters a word of at least 8 charachters long:

 

if( strlen($password) < $MaxPwdLength ){
	$errmsg_arr[] = 'Password must be at least 8 charachters long ';
	$errflag = true;
}

 

Does anyone know how I could write an if function to make sure that the ser is entereing a password with at least one capital and one lower case letter in.

 

Hope you can help.

 

Thanks

 

Ed

This combines the upper and lower case check with the length check:

function validpassword($password)
{
    $pattern = "#(?=.*[a-z])(?=.*[A-Z]).{8,}#";
    return preg_match($pattern, $password);
}

It does create a backtracking 'loop' in a sense - It matches the .{8,}, then starts looking end-to-start for the first lookaround, then starts at the end again for the second lookaround.

 

Thankfully, it's a relatively small string, and it is only called on user creation or a password change - a very small percentage of your overall requests

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.