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

Trigger a function in Javascript, if the word is in dictionary

本文关键字:函数 单词 字典 一个 如果 Javascript      更新时间:2023-09-26

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

提前谢谢。

返回 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

您可以使用Typo.js字典

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

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

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

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

维基词典

glosbe.com

字典-接口

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

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