如果单词在字典中,则在Javascript中触发函数

时间:2013-10-24 07:44:06

标签: javascript html html5 dictionary

我想在用户输入文本框后执行操作。我将在文本框中使用onkeyup

我想要一个允许用户执行任务的条件,只有当输入的单词是字典单词或正确的单词时才会执行。

例如:

  • 如果用户键入hello,则提示单词Hello。
  • 如果用户键入helr,则提醒您这不是字典词。

HTML:

<input type="text" onkeyup="chk();"/>
<span id="indicate"></span>

Javascript:

function chk() {
  if(spellcheck()) {
     document.getElementById("indicate").innerHTML = "Correct Word";
  }
  else {
     document.getElementById("indicate").innerHTML = "Wrong Word";
  }
}

请帮我定义将返回1或0的function spellcheck()

我希望在客户端本身执行此操作,使用javascript

提前致谢。

3 个答案:

答案 0 :(得分:1)

返回1和0对JavaScript不利。从函数中更好地返回true和false。现在,您可以以数组的形式定义字典,然后检查输入字是否存在于字典中。

var dictionary = ['Hello', 'Welcome', 'Bye'];

function spellcheck(value) {
  var returnVal = false;
  var length = dictionary.length;
  for (var inc = length - 1; inc >= 0; inc--) {
    if(value.toUpperCase() === dictionary[inc].toUpperCase()) {
      returnVal = true;
      break;
    }
  }
  return returnVal;
}

您可以在此处查看完整示例http://jsbin.com/IgaPEBi/3/edit?html,js,output

答案 1 :(得分:0)

您可以使用Typo.js词典

要使用Typo,只需在扩展程序的后台页面中包含typo.js文件,然后像这样初始化字典:

var dictionary = new Typo("en_US");
var is_spelled_correctly = dictionary.check("hello");

http://www.javascriptspellcheck.com/表示自动建议框。

答案 2 :(得分:0)

调用API字典服务,有一些开源代码:

wiktionary

glosbe.com

dictionary-api

当用户完成输入时,您可以使用函数对API endopoint进行异步调用(使用JS或Jquery的AJAX);如果响应中的对象不是void或null,或者仅表示字典中没有单词,则函数可以返回0,否则返回1.

通常,端点地址类似于URL / action / * word *,其中 action 是您想要知道的, word 是你寻找的实际词汇。