[discuz建站技术]
Discuz!修改注册用户名长度限制的方法
[复制链接]
|
在Discuz!中,系统默认的用户名长度是 3-15字节,但有一些网站可能会因为各种原因需要将用户名长度的限制做一些修改。所以结合之前的一些经验,完成了修改 注册用户名长度 的办法详细如下:6 u) t: u& V" W7 j% p. ^, n
: `3 w0 Z r+ q( y! M' D
1、修改注册类和用户名检查提示
4 Q5 d% k `+ U" q2 ?/ B5 B打开 /source/class/class_member.php 文件. @ |! L/ u, Y& K
找到- $usernamelen = dstrlen($username);
- if($usernamelen < 3) {
- showmessage('profile_username_tooshort');
- } elseif($usernamelen > 15) {
- showmessage('profile_username_toolong');
- }
复制代码 打开 /source/module/forum/forum_ajax.php 文件
- Q- `/ ^8 D- v$ M) T6 K找到- 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
* l& ?1 b" O& P. Y( s找到- 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$ `# N. g3 D" ?8 ]
找到- if(unlen < 3 || unlen > 15) {
- errormessage(id, unlen < 3 ? '用户名不得小于 3 个字符' : '用户名不得超过 15 个字符');
- return;
- }
复制代码 把上面的15改成你需要的数字' u" ?" X: X( B. \4 l6 N% [$ Q
' }8 ` J- s# l' w. F2、修改语言包提示语句
' v) g/ K' c# @5 L7 [7 `3 Q% o3 U' a打开 /source/language/lang_message.php 文件4 p2 ~( n( t$ Y) g+ D! r- _
找到8 ~ n8 k) c' Z$ @2 q/ Y
'profile_username_toolong' => '抱歉,您的用户名超过 15 个字符,请输入一个较短的用户名',
: M- _* [% ?+ W# }9 F把上面的15改成你需要的数字
: t( W! T8 g6 F7 f" q1 H) d打开 /source/language/mobile/lang_template.php 文件 D! ?' }# c, A7 {5 H
找到- 'reg_username' => '用户名必须为大于3位小于15位',
-
-
- 'registerinputtip' => '用户名:3-15位',
复制代码 把上面的15都改成你需要的数字6 }, S' N1 ~( d+ e4 U8 E3 U2 p
到这里就全部改完了。
8 U( b9 Y9 j( r {$ v/ |2 d2 d* n3 c, i) e1 g
4 _& G7 Q+ q. e3 g) g* H' A& G
1 g( r% ~* I; Q# ~# L- F8 c: p7 n0 [& K, ?% s
" J" V; b6 A2 Y* U5 ]9 q
% E1 p- X* }+ b. a( C# L |
|