2014-10-16 191 views
13

我有一個是這樣定義一個textarea:HTML textarea的拼寫檢查:如何判斷用戶進行拼寫錯誤

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

當用戶類型,拼寫錯誤都強調他們(用紅色下劃線,我的瀏覽器)。有什麼方法(使用jQuery)在用戶提交表單之前檢查是否存在拼寫錯誤?

這就是我想實現:

表單輸入文本域:鍵入thsi框中鍵入一些文字] [提交]

用戶點擊提交之前,我想監聽器以「捕捉」「thsi」拼寫錯誤並提示用戶這一事實。有沒有辦法通過html5 spellcheck方法來做到這一點,還是我必須使用自定義JavaScript函數進行拼寫檢查和偵聽?

+1

非常相關:http://stackoverflow.com/questions/30704264/how-to-access-chrome-spell-check-suggestions-in-javascript – nicovank 2016-12-16 05:49:18

回答

10

快速搜索提出了這個jQuery插件,似乎做你想要什麼,它採用了谷歌的拼寫檢查API https://code.google.com/p/jquery-spellchecker/wiki/Documentation

另外也Typo.js https://github.com/cfinke/Typo.js,這是一個客戶端基於圖書館。它不使用任何API,而是使用Hunspell式字典,並且僅適用於美式英語「EN_US」。

如果您不想使用插件或現有代碼片段,您可以通過發送ajax請求來檢查針對服務提供商(本例中爲Google)的輸入文本來構建自己的代碼片段。

+0

不幸的是Google已經停止了它的拼寫檢查API,從我所知道的。所以使用它的任何腳本都會失敗。 此外,我希望能夠基於已經作爲HTML5 spellcheck =「true」規範的一部分完成的拼寫檢查,而不是安裝新腳本對同一段文本進行另一個拼寫檢查。抱歉。 – GK79 2014-10-18 02:47:33

+2

HTML5 spellcheck API取決於用戶配置,您仍然可以使用屬性lang =「」配置語言,但如果在瀏覽器上禁用了API,這將不會有所幫助,因此如果您想要拼寫檢查您擁有的textarea實現您自己的機制,從用戶選擇和設置中解放出來。 – 2014-10-20 07:58:11

1

你有不同的方式來實現它,這取決於你的拼寫必須集中在一個主題(如醫療詞拼寫)或是一般。

  1. 創建自己的字典(不是最好的選擇,過於長,補)
  2. 進行查詢到像谷歌的在線詞典
  3. 嘗試Jspell演進(安裝是有點麻煩,但一旦完成它的工作原理非常好Jspell Evolution website
  4. 你可以看看打字錯誤。JS typo.js article

昨天我發現這篇文章比其他人高出10倍: Article for javascript spell check locales,你也可以有其他語言/區域設置,而不僅僅是英語語言環境中的拼寫。