如何允许用户名使用特殊字符?

How can I allow special characters for a username?

有什么办法可以允许“-”和“.”等字符? (下划线和句号)在用户名中?现在我正在使用 ctype_alnum() 功能,但我不知道如何让用户使用“。”和“-”。

if (ctype_alnum($uid) == false) {
      $uidERR = "Only letters and numbers are allowed";
    }

您可以使用正则表达式:

if (!preg_match('/^[a-zA-Z0-9._-]+$/', $uid)) {
    $uidERR = "Only letters and numbers are allowed";
}

这将匹配所有大小写字母、数字、._-