Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Discuz! Q 1.0 正式发布,5 分钟快速生成粉丝社区,助力内容创作者快速变现
搜索
查看: 607|回复: 4

[求助] discuz 3.4 怎么禁止中文名字注册

[复制链接]
发表于 2020-11-21 02:47:16 | 显示全部楼层 |阅读模式
DNSPod 新春好礼 - 域名低至 1 元起,代金券大礼包暖心送!
discuz 3.4 怎么禁止中文名字注册?
发表于 2020-11-21 03:16:13 | 显示全部楼层
倒是有只允许中文注册的插件。说不定你可以安装一个改改
回复

使用道具 举报

 楼主| 发表于 2020-11-21 03:20:40 | 显示全部楼层
babyfacer 发表于 2020-11-21 03:16
倒是有只允许中文注册的插件。说不定你可以安装一个改改

自己找到方法修改了。
回复

使用道具 举报

 楼主| 发表于 2020-11-21 03:24:34 | 显示全部楼层
1:修改uc_client\model\user.php
        function check_username($username) {
                $charset = strtolower(UC_CHARSET);
                if ($charset === 'utf-8') {
                        $guestexp = '\xE3\x80\x80|\xE6\xB8\xB8\xE5\xAE\xA2|\xE9\x81\x8A\xE5\xAE\xA2';
                } elseif ($charset === 'gbk') {
                        $guestexp = '\xA1\xA1|\xD3\xCE\xBF\xCD';
                } elseif ($charset === 'big5') {
                        $guestexp = '\xA1\x40|\xB9\x43\xAB\xC8';
                } else {
                        return FALSE;
                }
                $guestexp .= '|^Guest';

                $len = $this->dstrlen($username);
                if($len > 15 || $len < 3 || !(preg_match("/^([a-zA-z0-9])+$/u",$username)) || preg_match("/\s+|^c:\\con\\con|[%,\*\"\s\<\>\&\(\)']|$guestexp/is", $username)) {
                        return FALSE;
                } else {
                        return TRUE;
                }
        }


2:修改source\language\lang_message.php
在229行左右加 一个错误消息
  'profile_username_tooshort' => '抱歉,您输入的用户名小于 3 个字符,请输入一个较长的用户名',
添加->    'profile_username_notallchinese' => '抱歉,用户名必须是英文或者数字组合',
'profile_username_toolong' => '抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名',
3:source\module\forum\forum_ajax.php
在20行左右加一个判断
if($usernamelen < 3) {
  showmessage('profile_username_tooshort', '', array(), array('handle' => false));
} elseif($usernamelen > 15) {
  showmessage('profile_username_toolong', '', array(), array('handle' => false));
}
添加-> if(!(preg_match("/^([a-zA-z0-9])+$/u",$username))) {
   showmessage('profile_username_notallchinese', '', array(), array('handle' => false));
}


4:source\class\class_member.php
在581行左右加一个判断
if($usernamelen < 3) {
     showmessage('profile_username_tooshort');
    } elseif($usernamelen > 15) {
     showmessage('profile_username_toolong');
    }
添加->   if(!(preg_match("/^([a-zA-z0-9])+$/u",,$username))) {
       showmessage('profile_username_notallchinese');
    }

回复

使用道具 举报

发表于 2020-11-21 03:52:26 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

腾讯云自营「网站建设」全新上线!仅需1元,即可快速体验企业官网、电商网站的海量精美模版

小黑屋|Discuz! 官方站 ( 粤B2-20090059-165 )star

GMT+8, 2020-12-1 16:53

Powered by Discuz! X3.3

Copyright © 2001-2019 Tencent Cloud.

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