wangjie 发表于 2025-9-21 06:50:56

Discuz! 用户名注册长度限制 实现办法

在新发布的Discuz!X 中,系统默认的用户名长度仍然是 3-15字节,但有一些网站可能会因为各种原因需要将用户名长度的限制做一些修改。所以结合之前的一些经验,完成了修改 注册用户名长度 的办法详细如下:

第一步,在网站 uc_client\\\\model 目录下的 user.php文件中,找到如下代码:

if($len > 15 || $len < 3 || preg_match(\\"/\\\\s+|^c:\\\\\\\\con\\\\\\\\con|[%,\\\\*\\\\\\"\\\\s\\\\<\\\\>\\\\&]|$guestexp/is\\", $username))将其中的 15 修改为你所要的最大数字,将 3 修改为你所要的 最小数字。

比如我们站就是在 6-20之间那么就可以修改为:
if($len > 20 || $len < 6 || preg_match(\\"/\\\\s+|^c:\\\\\\\\con\\\\\\\\con|[%,\\\\*\\\\\\"\\\\s\\\\<\\\\>\\\\&]|$guestexp/is\\", $username))第二步,在网站 source/language目录下的 lang_message.php文件中,找到如下代码:
\\\'profile_username_tooshort\\\' => \\\'抱歉,您输入的用户名小于 3 个字符,请输入一个较长的用户名\\\',同样按照上一步的数字修改即可,比如修改为:
\\\'profile_username_tooshort\\\' => \\\'抱歉,您输入的用户名小于 6 个字符,请输入一个较长的用户名\\\',第三 步,在网站 source/language目录下的 lang_message.php文件中,找到如下代码:
\\\'profile_username_toolong\\\' => \\\'抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名\\\',同样按照上一步的数字修改即可,比如修改为:
\\\'profile_username_toolong\\\' => \\\'抱歉,您的用户名超过 20 个字符,请输入一个较短的用户名\\\',第四步,在网站 static/js 目录下的 register.js 文件中找到如下代码:
if(unlen < 3 || unlen > 15) {errormessage(id, unlen < 3 ? \\\'用户名小于 3 个字符\\\' : \\\'用户名超过 15 个字符\\\');续按照上面的数字修改即可,比如可以修改为:
if(unlen < 6 || unlen > 20) {errormessage(id, unlen < 6 ? \\\'用户名小于 6 个字符\\\' : \\\'用户名超过 20 个字符\\\');第五步,在网站 data/template/ 目录下的 1_1_member_register.tpl.php 文件中找到如下代码:
用户名由 3 到 15 个字符组成续按照上面的数字修改即可,比如可以修改为:
用户名由 6 到 20 个字符组成共五步就可以完成了。一个汉字等于二个字符,如果想把最小的跟最大的字符改为你自己想要的,可以改代码中的数字就可以了。
页: [1]
查看完整版本: Discuz! 用户名注册长度限制 实现办法