查看: 39|回复: 4

Discuz! X5 注册用户名不能使用纯数字,不能包含表情符号或不能带有数字

[复制链接]

1384

主题

18

回帖

3796

积分

管理员

金钱
2394
发表于 2026-8-18 19:01:48 | 显示全部楼层 |阅读模式
打开 static\js\register.js,查找:

  1. if(username.match(/<|>|"|\(|\)|'/ig)) {
  2.                 errormessage(id, $L('username_illegal'));
  3.                 return;
  4.         }
复制代码


在下面添加:
1、注册用户名不能使用纯数字

  1.                 // 检查是否为纯数字用户名
  2.         if(/^\d+$/.test(username)) {
  3.                 errormessage(id, $L('username_numeric_not_allowed') || '用户名不能为纯数字');
  4.                 return;
  5.         }
复制代码


Discuz! 注册用户名不能使用纯数字和不能包含表情符号或不能带有数字

Discuz! 注册用户名不能使用纯数字和不能包含表情符号或不能带有数字


2、注册用户名不能使用表情符号

  1.                 // 检查是否包含表情符号        
  2. const emojiRegex = /[\p{Extended_Pictographic}\u{1F300}-\u{1F5FF}\u{1F600}-\u{1F64F}\u{1F680}-\u{1F6FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/u;
  3. if (emojiRegex.test(username)) {
  4.     errormessage(id, $L('username_no_emoji_allowed') || '用户名不能包含表情符号');
  5.     return;
  6. }
复制代码


Discuz! 注册用户名不能使用纯数字和不能包含表情符号或不能带有数字

Discuz! 注册用户名不能使用纯数字和不能包含表情符号或不能带有数字

       
3、注册用户名不能带有数字

  1. // 判断用户名中是否包含数字
  2. if (/\d/.test(username)) {
  3.     errormessage(id, $L('username_no_numeric_allowed') || '用户名不能包含数字');
  4.     return;
  5. }
复制代码


Discuz! 注册用户名不能使用纯数字和不能包含表情符号或不能带有数字

Discuz! 注册用户名不能使用纯数字和不能包含表情符号或不能带有数字



4、最后打开语言包 source\i18n\SC_UTF8\lang_js.php,在最下面添加:

  1.         'username_numeric_not_allowed' => '用户名不能为纯数字',
  2.         'username_no_emoji_allowed' => '用户名不能包含表情符号',
  3.         'username_no_numeric_allowed' => '用户名不能包含数字',
复制代码


注:语言包里用哪个就添加哪个代码。


回复

使用道具 举报

1384

主题

18

回帖

3796

积分

管理员

金钱
2394
 楼主| 发表于 昨天 22:44 | 显示全部楼层
用户名不能纯表情符号

js

  1.     // 检查是否为纯表情符号       
  2. if (/^[\p{Extended_Pictographic}]+$/u.test(username)) {
  3.     errormessage(id, $L('username_emoji_only_not_allowed') || '用户名不能为纯表情符号');
  4.     return;
  5. }
复制代码


语言包

  1.         'username_emoji_only_not_allowed' => '用户名不能为纯表情符号',
复制代码
回复

使用道具 举报

1384

主题

18

回帖

3796

积分

管理员

金钱
2394
 楼主| 发表于 昨天 22:57 | 显示全部楼层
用户名不能以纯数字或表情符号开头

js

  1.     // 检查是否为以纯数字或表情符号开头  
  2.     if (/^(\d+|\p{Extended_Pictographic})/u.test(username)) {
  3.     errormessage(id, $L('username_invalid_start') || '用户名不能以纯数字或表情符号开头');
  4.     return;
  5. }
复制代码


语言包

  1.         'username_invalid_start' => '用户名不能以纯数字或表情符号开头',       
复制代码

回复

使用道具 举报

1384

主题

18

回帖

3796

积分

管理员

金钱
2394
 楼主| 发表于 昨天 23:04 | 显示全部楼层
用户名不能以数字开头

js

  1.     // 检查是否为以纯数字开头  
  2.     if (/^\d/.test(username)) {
  3.     errormessage(id, $L('username_numeric_start_not_allowed') || '用户名不能以数字开头');
  4.     return;
  5.    }
复制代码


语言包

  1.         'username_numeric_start_not_allowed' => '用户名不能以纯数字开头',
复制代码

回复

使用道具 举报

1384

主题

18

回帖

3796

积分

管理员

金钱
2394
 楼主| 发表于 昨天 23:05 | 显示全部楼层
用户名不能以表情符号开头

js

  1.     // 检查是否为以表情符号开头   
  2.    if (/^\p{Extended_Pictographic}/u.test(username)) {
  3.     errormessage(id, $L('username_emoji_start_not_allowed') || '用户名不能以表情符号开头');
  4.     return;
  5. }
复制代码


语言包

  1.         'username_emoji_start_not_allowed' => '用户名不能以表情符号开头',
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|网站地图|文强阁

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
返回顶部