我正在构建一个小型登录系统,但我无法验证输入用户名。这是代码
if(preg_match('/^[a-zA-Z0-9_-]{3,16}$/',$username) === 0){
header('Location: index.php?error=2');
}
我希望用户名的长度为3到16,并且只包含字母数字, - 和_字符 例如
us - Invalid
<user - Invalid
us<er - Invalid
/user - Invalid
!user - Invalid
//user - Invalid
user - Valid
user-name - Valid
user_name - Valid
1user - Valid
但是,如果输入的用户名无效,上面的代码不会将我返回索引页面。
以下是第一条评论后代码的样子:
$username = $_POST['login'];
$password = $_POST['password'];
//Match username which contains letters and number and has length
//3 to 16 characters
if(!preg_match('/^[a-zA-Z0-9_-]{3,16}$/',$username)){
header('Location: index.php?error=2');
}