The following can be used to test for different criteria in passwords.
<?php $min = 6; $max = 20; $password = $_POST['password']; $confirmpw = $_POST['confirmpw']; if($password != $confirmpw){ $error .= "Password and Confirm password do not match! <br />"; } if( strlen($password) < $min ) { $error .= "Password too short! <br />"; } if( strlen($password) > $max ) { $error .= "Password too long! <br />"; } if( !preg_match("#[0-9]+#", $password) ) { $error .= "Password must include at least one number! <br />"; } if( !preg_match("#[a-z]+#", $password) ) { $error .= "Password must include at least one letter! <br />"; } if( !preg_match("#[A-Z]+#", $password) ) { $error .= "Password must include at least one CAPITAL! <br />"; } if( !preg_match("#\W+#", $password) ) { $error .= "Password must include at least one symbol! <br />"; } if($error){ echo "Password Failure: $error"; } else { // Code to execute on success. } ?>