【问题标题】:Trigger a function in Javascript, if the word is in dictionary如果单词在字典中,则在 Javascript 中触发函数
【发布时间】:2013-10-24 07:44:05
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 那么,您的问题到底是什么?你试过解决吗?
  • 我不知道如何在 javascript 中进行拼写检查并返回 true 或 false。这才是我真正需要的
  • 我已经编辑了这个问题。检查一下

标签: javascript html dictionary


【解决方案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

【讨论】:

  • 我应该如何将所有字典单词添加到数组变量中?
  • 被选为接受的答案,然后被拒绝。我可以知道出了什么问题吗?
  • 我选择了你的答案,因为它效果很好。我加载了所有的字典单词。但它几乎没有像减慢应用程序这样的问题。所以,我发现我不应该加载一个。我必须访问系统的字典单词
【解决方案2】:

您可以使用Typo.js 字典

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

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

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

【讨论】:

【解决方案3】:

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

wiktionary

glosbe.com

dictionary-api

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 2022-12-09
    • 2021-07-23
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多