查看: 16|回复: 0

Discuz X5.0 小hack "禁止中文用户名" 的相关修改建议

[复制链接]
发表于 昨天 11:01 |四川| 显示全部楼层 |阅读模式
方法如下(程序文件和模板都需要做对应修改,修改前备份文件
1. 找到文件:source/class/class_member.php

搜索找到第 471 行
  1. $username = $_GET['username'] ?? '';
复制代码
在它下面加三行:
  1. if($username && preg_match('/[\x{4e00}-\x{9fff}]/u', $username)) {
  2.     showmessage('用户名不能包含中文字符,请使用英文字母、数字或下划线');
  3. }
复制代码
2.模板文件template/default/member/register.php,找到下面这一整行
(注意看你自己的模板文件,手机版模板对照这个修改就可以了):
  1. <td><input type="text" id="{$this->setting['reginput']['username']}" name="" class="px" value="{echo dhtmlspecialchars($_GET[defaultusername])}" autocomplete="off" size="25" maxlength="15" required /></td>
复制代码
改法:在 required后面/> 前面,加上pattern 和title两个属性。改完后是这样:
  1. <td><input type="text" id="{$this->setting['reginput']['username']}" name="" class="px" value="{echo dhtmlspecialchars($_GET[defaultusername])}" autocomplete="off" size="25" maxlength="15" required pattern="^[a-zA-Z0-9_]+$" title="用户名只能包含英文字母、数字和下划线" /></td>
复制代码
改完后记得:
清模板缓存:后台 → 工具 → 更新缓存。
打赏Ta
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

2005-2026 © 建筑资源吧 [蜀ICP备13014264号-2] [DiscuzX Git] [Discuz! X5.0.4.Open]
建筑资源吧所有内容均来源于会员发布或网络,禁止发布色情、政治、反动等国家法律不允许的内容!
如果您认为建筑资源吧的内容侵犯了您的合法权益,请发电子邮件并告诉详情【 web@jzbar.net 】我们会尽快处理。
虚拟的网络世界更加能反映人的本性,请大家理智和谐的发表自己的观点勿人身攻击,违者封停ID账号,谢谢支持!
夜晚 在本版发帖QQ客服返回顶部