【问题标题】:scanning a sentence for prohibited words扫描句子中的违禁词
【发布时间】:2015-08-29 22:07:48
【问题描述】:

使用a Stackoverflow answer to this question,我这样做是为了检查消息中的任何单词是否存在于禁用单词数组中

if ($.inArray(message, badwordsarray) !== -1){
   console.log("bad word found")
}

这在以下示例中有效

var message = "blah"
var badwordsarray = ["blah", "foo", "baz"]
  if ($.inArray(message, badwordsarray) !== -1){
       console.log("bad word found")
    }

但是,如果消息长于 1 并且包含空格,则不会检测到坏词。在此示例中,由于包含happy,因此未检测到坏词

    var message = "happy blah"
    var badwordsarray = ["blah", "foo", "baz"]
      if ($.inArray(message, badwordsarray) !== -1){
           console.log("bad word found")
        }

在 Javascript 中扫描句子以查找违禁词的最佳方法是什么?

【问题讨论】:

  • 需要服务器端检查。犯罪分子使用思想犯罪控制台轻松颠覆 JavaScript。双加不好。

标签: javascript


【解决方案1】:

您需要标记消息字符串。

var message = "happy blah";
var badwordsarray = ["blah", "foo", "baz"];
var messageParts = message.split(" ");
$(messageParts).each(function(i, item){
    if ($.inArray(item, badwordsarray) !== -1) {
        console.log("bad word found:", item);
    }
});

http://jsfiddle.net/udd5k8j3/

【讨论】:

    【解决方案2】:

    RegExp 来救援!

    var message = "happy blah";
    var badwordsarray = ["blah", "foo", "baz"];
    
    var containsBadWord = badwordsarray.some(function (word) {
        return new RegExp('\\b' + word  + '\\b').test(word);
    });
    
    if (containsBadWord) {
        console.log("bad word found");
    }
    

    【讨论】:

      【解决方案3】:

      另一种选择是创建一个 for 循环并遍历每个坏词。

      var message = "happy blah"
      var badwordsarray = ["blah", "foo", "baz"]
      
      for(var i = 0; i < badwordsarray.length; i++) {
          if(message.indexOf(badwordsarray[i]) !== -1) {
              alert('bad word found');
              // You could also set a boolean variable to true when a word is found
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2013-10-09
        • 1970-01-01
        • 2018-05-02
        • 2011-02-18
        • 2013-09-04
        • 1970-01-01
        • 2016-10-21
        • 2022-01-18
        • 1970-01-01
        相关资源
        最近更新 更多