function validPassword($pass) { $digit = 0; $letter = 0; $specialChar = 0; function hasSpecialChar($ch) { return $ch == '!' || $ch == '@' || $ch == '#' || $ch == '$' || $ch == '%' || $ch == '*' || $ch == '(' || $ch == ')' || $ch == '+' || $ch == '=' || $ch == '.'; } function hasDigit($ch) { return is_numeric($ch); } function isLetter($cha) { return ctype_alpha($cha); } for ($i = 0; $i < strlen($pass); $i++) { $c = substr($pass, $i, 1); if (hasSpecialChar($c)) { $specialChar++; } if (hasDigit($c)) { $digit++; } if (isLetter($c)) { $letter++; } } return $specialChar > 0 && $digit > 0 && $letter > 0 && strlen($pass) >= 8; }
/** * 是否包含特殊字符 * @param string $name 需要检查的名称 * @return boolean 是否不含特殊字符 */ protected function isNotExistSpecialChar($name) { if (hasSpecialChar($name)) { return false; } return true; }