Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向简单的Socket.IO应用程序添加亵渎过滤器_Javascript_Html_Regex_Socket.io_Profanity - Fatal编程技术网

Javascript 向简单的Socket.IO应用程序添加亵渎过滤器

Javascript 向简单的Socket.IO应用程序添加亵渎过滤器,javascript,html,regex,socket.io,profanity,Javascript,Html,Regex,Socket.io,Profanity,我正在制作一个简单的socket.io应用程序,您可以在上看到。我正试图使用RegExp为这个网站添加一个相对简单的亵渎过滤器,但我一直遇到一个问题——当检测到一个坏单词时,我没有显示我希望它显示的消息,什么也没有发生。我对JS和正则表达式非常缺乏经验,所以可能有一些东西我忽略了,我希望能得到任何帮助 我的代码: 如果(location.protocol!=“https:”){ location.href=https://backchannel.glitch.me' } 反向通道 *{边距:

我正在制作一个简单的socket.io应用程序,您可以在上看到。我正试图使用RegExp为这个网站添加一个相对简单的亵渎过滤器,但我一直遇到一个问题——当检测到一个坏单词时,我没有显示我希望它显示的消息,什么也没有发生。我对JS和正则表达式非常缺乏经验,所以可能有一些东西我忽略了,我希望能得到任何帮助

我的代码:


如果(location.protocol!=“https:”){
location.href=https://backchannel.glitch.me'
}
反向通道
*{边距:0;填充:0;框大小:边框框;}
正文{font:13px Helvetica,Arial;文本对齐:左;溢出:自动;颜色:白色;}
表单{背景:#666666;填充:3px;位置:静态;底部:0;宽度:100%;}
表单输入{填充:8px;宽度:90%;右边距:.5%;}
窗体按钮{宽度:9%;背景:白色;边框:无;填充:9px 8px;}
#消息{列表样式类型:无;边距:0;填充:0;最大高度:95.7vh;溢出:}
#消息li{填充:5px 10px;背景:无;}
#消息li:n子项(奇数){背景:无;}
主{文本对齐:居中;边距:0;}
.messageContainer{溢出:自动;}
var audio=新音频文件('https://cdn.glitch.com/a359ff0b-1273-40ab-a005-10968e106f1d%2FError-声音。mp3?1544050723783’;
$(函数(){
var socket=io();
$('form')。提交(函数(){
emit('chat message',$('#m').val());
$('m').val('');
返回false;
});
socket.on('chat message',函数(msg){
//如果用户键入包含“坏字”的消息,请不要打印该消息,而是打印一条系统消息,说明该消息已被阻止。
if(msg==newregexp('*坏字*')){
$(“#消息”).append($(“
  • ”).text(“[SYSMOD]:由于显式内容而被阻止的消息”); } 其他的 $(“#消息”).append($(“
  • ”).text(“[USER]:”+msg)); 音频播放(); }); //当服务器发出“新用户已连接”消息时,添加这样一条消息。 socket.on('new user',函数(msg){ $(“#消息”).append($(“
  • ”).text(“[SYSTEM]:新用户已连接”); 音频播放(); }); //当服务器发出“user disconnected”(用户断开连接)时,添加这样一条消息。 socket.on('user disconnected',函数(msg){ $(“#消息”).append($(“
  • ”).text(“[系统]:用户已断开连接”); 音频播放(); }); }); 发送消息

    • 将字符串与带有布尔运算符的RegExp对象进行比较将始终返回false。您希望使用RegExp的
      test
      方法进行此操作。例如:

      new RegExp("*bad words*").test(msg);
      
      此外,还存在用于构造正则表达式的速记语法

      /myregex/.test(msg);