I would like to create a preg_match function to validate my passowrds, but I’m not sure how to write it to allow the following special characters to be used: !@#$%.
if(!preg_match(?????)$/', $password))
Here are my password rules that I want to work into the regex:
- May contain letter and numbers
- Must contain at least 1 number and 1 letter
- May contain any of these characters:
!@#$% - Must be 8-12 characters
Thank you for any help you can offer.
I think this should look like that:
Between start ->
^And end ->
$of the string there has to be at least one number ->
(?=.*\d)and at least one letter ->
(?=.*[A-Za-z])and it has to be a number, a letter or one of the following: !@#$% ->
[0-9A-Za-z!@#$%]and there have to be 8-12 characters ->
{8,12}As user557846 commented to your question, I would also suggest you to allow more characters, I usually (if i use a maximum) take at least 50 🙂
btw, you might want to take a look at this regex tutorial