奇妙な正規表現は必要ありません。特に、パスワードに が含まれているか含まれていないかを確認したいので、どこに表示されるかは問題ではありません。
<?php
/**
* Validates the password:
* * Has at least one alphabet character
* * Has at least one digit
* * Has no spaces
*
* @param string $password Password to validate
*
* @return bool Whether $password is valid or not.
*/
function validate_password($password) {
//If no alphabet characters found, return false.
if (!preg_match("/[a-z]/i", $password)) {
return false;
}
//If no digits found, return false.
if (!preg_match("/[0-9]/", $password)) {
return false;
}
//If a space is found, return false.
if (strpos($password, " ") !== false) {
return false;
}
//Special characters are optional, so no checking.
//If nothing happened so far, the password is valid. Return true.
return true;
}
var_dump(
validate_password("test"), //False, no digits
validate_password("test123 test"), //False, space
validate_password("123456"), //False, no alphabet
validate_password("test1234") //True
);