【问题标题】:HTML textarea spellcheck: How to tell if user makes spelling errorsHTML textarea 拼写检查:如何判断用户是否犯了拼写错误
【发布时间】:2014-12-12 01:40:46
【问题描述】:

我有一个这样定义的文本区域:

<textarea spellcheck="true"></textarea>

当用户键入时,拼写错误会突出显示给他们(我的浏览器使用红色下划线)。有没有办法(使用jQuery)在用户提交表单之前检查是否有拼写错误?

这就是我想要实现的目标:

Form input textarea: [Typing some text in thsi box] [submit]

在用户点击提交之前,我希望监听器“捕捉”“thsi”拼写错误的事实并提示用户。有没有办法通过 html5 拼写检查方法来做到这一点,还是我必须使用自定义 javascript 函数进行拼写检查和收听?

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

快速搜索一下这个 jQuery 插件,它似乎完全符合您的要求,它使用 Google 拼写检查 API https://code.google.com/p/jquery-spellchecker/wiki/Documentation

还有 Typo.js https://github.com/cfinke/Typo.js,它是一个基于客户端的库。它不使用任何 API,而是使用Hunspell 风格的字典,并且仅适用于美式英语“EN_US”。

如果您不想使用插件或现有代码 sn-p,您可以通过发送 ajax 请求来构建自己的代码,以根据服务提供商(在本例中为 Google)检查键入的文本。

【讨论】:

  • 不幸的是,据我所知,Google 已经停止了其拼写检查 API。所以任何使用它的脚本都会失败。此外,我希望建立在作为 HTML5 spellcheck="true" 规范的一部分已经完成的拼写检查的基础上,而不是安装一个新的脚本来对同一段文本进行另一个拼写检查。对不起。
  • HTML5 拼写检查 API 取决于用户配置,您仍然可以使用属性 lang="" 配置语言,但如果该 API 在浏览器上被禁用,这将无济于事,所以如果您想要对文本区域进行拼写检查,您必须实现自己的机制,不受用户选择和设置的影响。
【解决方案2】:

您可以使用 jquery 插件来检查拼写。 希望对你有帮助,谢谢。

JavaScript 拼写检查

http://www.javascriptspellcheck.com/

【讨论】:

    【解决方案3】:

    如果您必须在本地构建它,您可以考虑为此构建一个 Trie 数据结构

    检查这个Trie reference 1 Trie reference 2

    希望对你有帮助

    【讨论】:

      【解决方案4】:

      您有不同的方法来实现它,这取决于您的拼写是否必须专注于某个主题(如医学单词拼写)还是通用的。

      1. 为自己创建一本字典(不是最佳选择,而且制作时间太长)
      2. 查询 google 等在线词典
      3. 尝试 Jspell Evolution(安装有点烦人,但安装后效果很好Jspell Evolution website
      4. 你可以看看typo.js typo.js article

      昨天我发现这篇文章比其他文章好 10 倍: Article for javascript spell check locales 在这里您还可以为其他语言/区域设置拼写,而不仅仅是英语区域设置。

      【讨论】:

        猜你喜欢
        • 2022-01-02
        • 2014-01-02
        • 2010-12-28
        • 2015-04-02
        • 1970-01-01
        • 1970-01-01
        • 2015-02-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多