我在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