如何检查该用户在javascript中输入有效的英语单词

时间:2013-01-04 11:41:09

标签: jquery javascript

我打算在javascript中制作一个游戏,我将为用户提供选择给定字符和制作有效英语单词的选项,现在的问题是我如何在javascript中检查用户输入的内容是否有效英语单词与否,假设 我给用户以下信件

  1. 0
  2. d
  3. 0
  4. G
  5. 现在他可以用这些字符GodGoodDog制作三个单词。

    提前致谢

    修改

    这家伙怎么样?

    Typo.JS

    这是否是一个好方法?

5 个答案:

答案 0 :(得分:4)

他还可以设想DOGO。您需要使用允许单词的字典,并检查答案。

var allowedWords = ['god','good','dog','do','go'];
var enteredWord = 'GOD';

if(allowedWords.indexOf(enteredWord.toLowerCase()) >= 0) {
   // match
}

答案 1 :(得分:2)

这里有英文单词MySql database。 http://androidtech.com/html/wordnet-mysql-20.php

现在您需要实现服务器端功能。当word不存在时返回true或false。 您可以使用Jquery通过Ajax调用服务并检查游戏中的单词。

答案 2 :(得分:1)

检查出来:http://ejohn.org/blog/dictionary-lookups-in-javascript/

寻找客户端解决方案。

答案 3 :(得分:1)

如果您有多个问题,也可以像这样验证答案:

var gameDict = [
    { 'letters':['o','d','o','g'],  'words':['god','good','dog','do','go', 'goo']},
    { 'letters':['a','e','p'],      'words':['ape']},
    { 'letters':['p','n','e','t'],  'words':['pen', 'ten', 'net']}
]

// Returns `true` if the answer is valid, `false` if it's not.
function validateAnswer(questionNumber, answer){
    return gameDict[questionNumber].words.indexOf(answer.toLowerCase()) >= 0;
}

console.log(validateAnswer(0,'Good'));
// true
console.log(validateAnswer(1,'ap'));
// false

但是,是的,您必须手动为您的游戏编写字典,因为除了检查该单词是否实际上是英文单词之外,您还必须检查您的角色是否可以制作该单词。

答案 4 :(得分:0)

托尔建议你需要一本字典(一系列字符串,你认为这些单词是有效的“英语单词”)。

但是如果你真的想检查输入对任何英文单词“英语词典”那么单词数组将真正巨大,因为它会加载沿着Javascript,Javascript将成为一个太大的文件,无法与您的网页一起下载。

在这种情况下,您需要一个数据库(比如说MySQL)来存储单词和在服务器上运行的脚本(假设是PHP),您通过ajax调用传递单词。该脚本将在数据库上查询该单词是否存在,并将结果作为ajax响应返回给您的javascript(1 =英文单词0 =单词不在字典上)