1

以 Stackoverflow 为例,如何着手消除弹出的不良问题?仅包含以下内容的问题:

  1. 空间
  2. 胡言乱语
  3. 重复字符
  4. 'fsdgh' 等字符的组合
  5. Jeff关于 Meta的帖子中解释的其他组合。

如果我想在 Javascript 中执行此操作,有没有办法以编程方式在帖子中查找此类字符组合?Jeff 在 Meta 上的帖子解释了这种系统的一些启发式方法和模式。

我知道可能还有其他方法可以解决这个问题,比如用户注册和速率限制等,但纯粹从验证和 UX 的角度来看,我们如何才能在服务器端或客户端实现它?这将是一种很好的方式来告诉优秀的用户系统不会期望以任何方式发布糟糕的帖子。

例如,这可以使用正则表达式和循环的组合。我们甚至不必部署所有需求,也许一个子集就可以了。

4

1 回答 1

1

仅包含以下内容的问题:

  1. 空间
  2. 胡言乱语
  3. 重复字符
  4. 'fsdgh' 等字符的组合
  1. 获取帖子的文本,执行 trim(); 在它上面(删除空白),如果文本的大小现在为零,则您的帖子仅包含空格。这是坏的。
  2. 难的是,也许搜索常见的单词和短语,如“the, of, if, it”,如果很多不存在或全部不存在,可能会很糟糕。
  3. 我认为英语中没有任何单词连续重复两个以上的字符。因此,当您解析文本时,请记住您看到的最后一个字符是什么,如果下一个字符是您看到的最后一个字符,则设置一个标志,如果设置了标志,则下一个字符是您最后看到的那个,糟糕的帖子。
  4. 与上述相同的想法,但搜索具有字符长度但没有元音的单词,做研究找出哪些单词有最长的非元音链,如果你发现更多,这是一个糟糕的帖子。

其中大部分都很难做到,因为计算机科学家知道英语以及几乎任何口语,都落后于计算机可以轻松理解或解析的任何内容。

正如您所指出的,解决这些问题的唯一好方法是模组、注册等。

哎呀,没看到你想使用正则表达式......但从任何角度来看仍然很难做到。(我认为)

于 2013-05-01T14:40:21.017 回答