Discuz!大师网

搜索
查看: 1212|回复: 0

Discuz!修改注册用户名长度限制的方法

[复制链接]
发表于 2017-4-1 19:56:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x


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

1、修改注册类和用户名检查提示
打开 /source/class/class_member.php 文件
找到
$usernamelen = dstrlen($username);
if($usernamelen < 3) {
        showmessage('profile_username_tooshort');
} elseif($usernamelen > 15) {
        showmessage('profile_username_toolong');
}

打开 /source/module/forum/forum_ajax.php 文件
找到
if($usernamelen < 3) {
    showmessage('profile_username_tooshort', '', array(), array('handle' => false));
} elseif($usernamelen > 15) {
    showmessage('profile_username_toolong', '', array(), array('handle' => false));
}

打开文件 uc_client/model/user.php
找到
function check_username($username) {
        $guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
        $len = $this->dstrlen($username);
        if($len > 15 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*\"\s\<\>\&]|$guestexp/is", $username)) {
                return FALSE;
        } else {
                return TRUE;
        }
}

打开文件 static/js/register.js
找到
if(unlen < 3 || unlen > 15) {
        errormessage(id, unlen < 3 ? '用户名不得小于 3 个字符' : '用户名不得超过 15 个字符');
        return;
}
       
把上面的15改成你需要的数字

2、修改语言包提示语句
打开 /source/language/lang_message.php 文件
找到
'profile_username_toolong' => '抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名',
把上面的15改成你需要的数字
打开 /source/language/mobile/lang_template.php 文件
找到
'reg_username' => '用户名必须为大于3位小于15位',

'registerinputtip' => '用户名:3-15位',

把上面的15都改成你需要的数字
到这里就全部改完了。


回复 马甲回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|网站地图|小黑屋|展会网|Discuz站长论坛 |天天打卡

GMT+8, 2024-4-29 19:58 , Processed in 0.024349 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表