【发布时间】:2011-11-29 01:55:27
【问题描述】:
我正在开发一个垃圾邮件检测系统,但我发现它无法检测到这样的字符串 - “asdfsdf”。
我对此的解决方案包括检测之前的键是否靠近键盘上的其他键。我没有从键盘获取输入(用于检测垃圾邮件),而是以字符串的形式获取。
我只想知道一个字符距离另一个字符是一个键、两个键还是两个以上键。
例如,在现代 QWERTY 键盘上,字符“q”和“w”将相距 1 个键。字符“q”和“s”也是如此。人类可以从逻辑上解决这个问题,我怎么能在代码中做到这一点?
【问题讨论】:
-
你用什么语言开发?
-
对不起,我没有标记它,它的 PHP。现在只是标记...
-
目标用户群是什么?并非所有键盘都是 QWERTY,例如德国的常见布局有 QWERTZ。 en.wikipedia.org/wiki/QWERTZ.
-
它主要是出于我自己的目的,一个小项目,我才1小时前开始,但是它的增长很快。所以在我准备好之前我不会支持其他布局
-
那么我现在不用担心对客户端键盘做出假设,但请记住,并非所有键盘都具有相同的布局,因此如果您在路上遇到问题您可能需要弄清楚用户的语言环境并基于此应用不同的键映射。
标签: php string keyboard spam-prevention qwerty