I am trying to do a password match with php.. It needs to be at least 6 characters, contains 2 alphabets and at least 1 number or a special character... if (!preg_match("/^.*(?=.{6,})((?=.*\d)|(?=.*[,\=@\"\/'+\*\?\.\[\]\^$\(\){}\|\\&:;'<>~`#%_-]))([a-zA-Z]{2,}).*$/", $pw1)) {error message} is failing to pass "e1w2qw" as a good password although it follows the instructions... I cannot figure out why.. Please help! Thank you,