验证用户输入的质量

时间:2013-05-01 14:01:41

标签: php javascript regex tinymce validation

以Stackoverflow为例,一个人如何开始消除弹出的不良问题?仅包含以下内容的问题:

  1. 空间
  2. 乱码
  3. 重复字符
  4. 'fsdgh'等字符组合
  5. 其他组合,如Jeff的post对Meta。
  6. 所述

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

    据我所知,可能有其他方法可以解决这个问题,例如用户注册和速率限制等,但纯粹从验证和用户体验的角度来看,我们如何在服务器端或客户端实现这一目标?这是告诉好用户系统不会以任何方式预期不良帖子的好方法。

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

1 个答案:

答案 0 :(得分:1)

  

仅包含以下内容的问题:

     
      
  1. Spaces
  2.   
  3. Gibberish
  4.   
  5. 重复字符
  6.   
  7. 'fsdgh'等字符组合
  8.   
  1. 获取帖子的文字,做一个trim();在它上面(删除空格),如果文本的大小现在为零,则帖子只包含空格。这很糟糕。
  2. 很难,也许会搜索常见的单词和短语,例如“the,of,if,it”,如果很多人不在或者都没有,那可能会很糟糕。
  3. 我认为英语中没有连续两个以上重复字符的单词。因此,当您解析文本时,请记住您看到的最后一个字符是什么,如果下一个字符是您看到的最后一个字符,如果设置了标志,则设置一个标志,下一个字符是您上次看到的字符,错误的帖子。 / LI>
  4. 与上面相同的想法但是搜索具有长度字符但没有元音的单词,做研究可以找出哪些单词具有最长的非元音链,如果你发现了更多的东西,它就是一个糟糕的帖子。
  5. 大多数这些都很难做到,因为计算机科学家知道英语,几乎任何口语,都是计算机可以轻松理解或轻松解析的任何内容。

    正如您所指出的,处理这些问题的唯一好方法是修改,注册等。

    哎呀,没看到你想用Regex's ......但从任何角度来看仍然很难做到。 (我认为)