1

我想在用户输入文本框后执行操作。我将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";
  }
}

请帮助我定义function spellcheck()哪个将返回 1 或 0。

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

提前致谢。

4

3 回答 3

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

于 2013-10-24T08:32:18.267 回答
0

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

维基词典

环球网

字典-api

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

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

于 2013-10-24T09:49:01.093 回答
0

您可以使用Typo.js字典

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

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

http://www.javascriptspellcheck.com/获取自动建议框。

于 2013-10-24T07:51:21.040 回答