PHP用户名验证

Ada*_*son 6 php

我正在编写PHP登录系统.我有我需要的所有工作,但我想验证在注册期间输入的用户名只包含字母数字字符.那么我怎么能拿一个变量,比如$ username,并确保它只包含字母数字字符?

Ish*_*Ish 22

if(preg_match('/^\w{5,}$/', $username)) { // \w equals "[0-9A-Za-z_]"
    // valid username, alphanumeric & longer than or equals 5 chars
}
Run Code Online (Sandbox Code Playgroud)

要么

if(preg_match('/^[a-zA-Z0-9]{5,}$/', $username)) { // for english chars + numbers only
    // valid username, alphanumeric & longer than or equals 5 chars
}
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您不关心长度,可以使用:

if (ctype_alnum($username)) {
   // Username is valid
}
Run Code Online (Sandbox Code Playgroud)

http://www.php.net/manual/en/function.ctype-alnum.php


小智 6

我推荐的最佳方式是: -

$str = "";
function validate_username($str) 
{
    $allowed = array(".", "-", "_"); // you can add here more value, you want to allow.
    if(ctype_alnum(str_replace($allowed, '', $str ))) {
        return $str;
    } else {
        $str = "Invalid Username";
        return $str;
    }
}
Run Code Online (Sandbox Code Playgroud)