找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 97|回复: 1

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

[复制链接]

66

主题

42

回帖

356

积分

区板主

积分
356
发表于 2024-8-17 20:57:43 | 显示全部楼层 |阅读模式
在Discuz!中,系统默认的用户名长度是 3-15字节,但有一些网站可能会因为各种原因需要将用户名长度的限制做一些修改。所以结合之前的一些经验,完成了修改 注册用户名长度 的办法详细如下:

一 修改逻辑判断类源码

1 修改注册类和用户名检查提示

打开 /source/class/class_member.php 文件

找到

  1. [mw_shl_code=php,true]$usernamelen = dstrlen($username);
  2. if($usernamelen < 3) {
  3.         showmessage('profile_username_tooshort');
  4. } elseif($usernamelen > 15) {
  5.         showmessage('profile_username_toolong');
  6. }[/mw_shl_code]
复制代码



2 打开 /source/module/forum/forum_ajax.php 文件

找到

  1. [mw_shl_code=php,true]if($usernamelen < 3) {
  2.     showmessage('profile_username_tooshort', '', array(), array('handle' => false));
  3. } elseif($usernamelen > 15) {
  4.     showmessage('profile_username_toolong', '', array(), array('handle' => false));
  5. }[/mw_shl_code]
复制代码



3 打开文件 uc_client/model/user.php

找到

  1. [mw_shl_code=php,true]function check_username($username) {
  2.         $guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
  3.         $len = $this->dstrlen($username);
  4.         if($len > 15 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*"\s\<\>\&]|$guestexp/is", $username)) {
  5.                 return FALSE;
  6.         } else {
  7.                 return TRUE;
  8.         }
  9. }[/mw_shl_code]
复制代码



4 打开文件 static/js/register.js

找到

  1. [mw_shl_code=php,true]if(unlen < 3 || unlen > 15) {
  2.         errormessage(id, unlen < 3 ? '用户名不得小于 3 个字符' : '用户名不得超过 15 个字符');
  3.         return;
  4. }[/mw_shl_code]
复制代码

把上面逻辑判断中的数字3或者15改成你需要的数字即可。

这里需要注意一点:

中文一个字是占两个字符的,所以如果需要用户名是含中文的,就要设计好字符个数了。



二 修改语言包提示语句

1 打开 /source/language/lang_message.php 文件

找到

'profile_username_toolong' => '抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名',
把上面的15改成你需要的数字



2 打开 /source/language/mobile/lang_template.php 文件

找到

'reg_username' => '用户名必须为大于3位小于15位',
'registerinputtip' => '用户名:3-15位',
把上面的数字都改成你需要的数字

到这里就全部改完了。

66

主题

42

回帖

356

积分

区板主

积分
356
 楼主| 发表于 2024-8-17 20:59:37 | 显示全部楼层
這個只是前台註冊有效,後台不變
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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