我用的是国际版英文如何设置注册用户禁用中文名。
2026/09/16 14:11:27
登录名禁止用中文,只能用字母和数字就行。
用户名可以改,但登录名改不了,要改只能在数据库去改。所以开始就禁就好了,就没有后面麻烦。
因为登录名语言翻译不到,英文版的还是显示中文的。
原因应该是字体在数据库里面所以翻译不了登录名。
想注册时用户禁用掉中文名。就好。如何设置
1 贡献
方法如下(程序文件和模板都需要做对应修改,修改前备份文件)
1. 找到文件:source/class/class_member.php
搜索找到第 471 行:在它下面加三行:2.模板文件template/default/member/register.php,找到下面这一整行
(注意看你自己的模板文件,手机版模板对照这个修改就可以了):改法:在 required`后面/> 前面,加上`pattern 和`title`两个属性。改完后是这样:改完后记得:
清模板缓存:后台 → 工具 → 更新缓存。
用户名可以改,但登录名改不了,要改只能在数据库去改。所以开始就禁就好了,就没有后面麻烦。
因为登录名语言翻译不到,英文版的还是显示中文的。
原因应该是字体在数据库里面所以翻译不了登录名。
想注册时用户禁用掉中文名。就好。如何设置
1 贡献
qkw 发表于 2026-9-15 11:15
来! 简单点的
1. 找到文件:source/class/class_member.php
搜索找到第 471 行:
- $username = $_GET['username'] ?? '';
- if($username && preg_match('/[\x{4e00}-\x{9fff}]/u', $username)) { showmessage('用户名不能包含中文字符,请使用英文字母、数字或下划线');}
(注意看你自己的模板文件,手机版模板对照这个修改就可以了):
- <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>
- <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>
清模板缓存:后台 → 工具 → 更新缓存。
- 建筑资源吧发表于昨天 11:16