我在php中使用preg_match_all來檢查用戶名和密碼中的字符,然後將它們添加到數據庫中,但似乎無法讓它按照我想要的方式工作。以下是我現在所擁有的:PHP preg_match_all模式
preg_match_all(USERNAME_PATTERN,$username,$usernameMatches);
preg_match_all(PASSWORD_PATTERN,$password,$passwordMatches);
這裏有圖案,定義爲常量:
/*Username and Password Patterns*/
define("USERNAME_PATTERN","[-*_a-z0-9A-Z.]");
define("PASSWORD_PATTERN","[_a-z0-9A-Z]");
我不知道什麼是錯的。它假設檢查用戶名是否具有a-z,A-Z,0-9,短劃線,星號,下劃線和句點之外的任何內容。密碼與用戶名相同。
這裏是我用來檢查代碼:
if ($usernameMatches == 0){
echo("Bad characters in username<br />");
}
的密碼是一樣的。
爲什麼限制密碼?無論如何,你只存儲它們的哈希值。 – fuxia 2012-01-28 15:14:16