兔源码_免费的Discuz模板|插件|素材|建站资源下载

 找回密码
 立即注册

QQ登录

只需一步,快速开始

返回列表 

Discuz! X3.* 用户名禁用纯数字,只能含有汉字、字母或数字的方法

[复制链接]

欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]

应用场景:如果你的网站开启了手机号码登录支持,为了防止用户名和手机号重复,建议禁止用户注册帐号时使用纯数字作用户名。另外,可禁止用户在用户名中使用标点符号和其它语言字符。

1、打开 source/module/forum/forum_ajax.php 文件,
查找:
  1.                 showmessage('profile_username_toolong', '', array(), array('handle' => false));
  2.         }
复制代码
在其下方加入本文末尾的代码(如您使用Discuz! UTF-8编码版本,请去掉第一行和最后一行)。

2、打开 source/class/class_member.php 文件,
查找:
  1.                                         showmessage('profile_username_toolong');
  2.                                 }
复制代码
在其下方加入本文末尾的代码(如您使用Discuz! UTF-8编码版本,请去掉第一行和最后一行)。

以上两个文件均需加入的代码:
  1.                                 $username = mb_convert_encoding($username,"UTF-8","GBK");
  2.                                 $username_rule = "[A-Za-z0-9\x{3007}\x{4e00}-\x{9fa5}]"; //用户名规则
  3.                                 $shuzi = 'QOI\x{3007}\x{4e00}\x{4e8c}\x{4e09}\x{56db}\x{4e94}\x{516d}\x{4e03}\x{516b}\x{4e5d}\x{96f6}\x{58f9}\x{8d30}\x{53c1}\x{5f0e}\x{8086}\x{4f0d}\x{9646}\x{67d2}\x{634c}\x{7396}'; //匹配字母QOI,和〇一二三四五六七八九零壹贰叁弎肆伍陆柒捌玖
  4.                                 if(preg_match('/^[0-9]+$/u', $username)) {
  5.                                         showmessage('用户名不能为纯数字', '', array(), array('handle' => false));
  6.                                 } elseif(preg_match('/([0-9'.$shuzi.']{5,})/iu', $username)) {
  7.                                         showmessage('用户名不能含有5位以上数字', '', array(), array('handle' => false));
  8.                                 } elseif(!preg_match('/^'.$username_rule.'+$/u', $username)) {
  9.                                         $bunengbaohan = mb_convert_encoding(preg_replace("/".$username_rule."/u", "", $username),"GBK","UTF-8");
  10.                                         $bunengbaohan = str_replace(array(""," ")," 空格 ",$bunengbaohan);
  11.                                         showmessage('用户名不能含有 '.$bunengbaohan, '', array(), array('handle' => false));
  12.                                 }
  13.                                 $username = mb_convert_encoding($username,"GBK","UTF-8");
复制代码

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。



493651246站长邮箱:tuyuanma@qq.com 站长QQ:3197813386

© 2015-2021 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

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