2013-10-24 9 views
1

我想在用戶鍵入文本框後執行一個操作。我將在文本框中使用onkeyup在Javascript中觸發一個函數,如果該單詞在字典中

我想要一個條件,這將允許用戶執行任務,只有當輸入的單詞是字典單詞或適當的單詞。

如:

  • 如果用戶鍵入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

在此先感謝。

+1

那麼,到底什麼是你的問題?你有沒有試圖解決它? – siledh

+0

我不知道如何在javascript中進行拼寫檢查並返回true或false。這真的是我需要的 –

+1

我編輯了這個問題。檢查它 –

回答

0

可以使用​​字典

要使用錯字,只需在你擴展的背景頁的typo.js文件,然後初始化字典,像這樣:

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

http://www.javascriptspellcheck.com/爲自動建議框。

+0

它不工作。我不知道是什麼問題。 http://jsbin.com/oDoTOSa/2/edit –

+0

您需要遵循Typo.js安裝說明https://github.com/cfinke/Typo.js - see edit –

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

+0

我應該如何添加所有字典數組變量中的單詞? –

+1

看到這個http://stackoverflow.com/questions/11493594/javascript-list-of-english-words-for-a-game – Bikas

+0

選擇作爲接受的答案,然後拒絕。我可以知道出了什麼問題嗎? – Bikas

0

撥打電話到API辭典服務,還有一些開源的:

wiktionary

glosbe.com

dictionary-api

當用戶輸入完畢後,可以使用一個函數向API內聯進行異步調用(帶JS或Jquery的AJAX);如果響應中的對象不是void或null,或者只是說明字典中沒有單詞,則函數可以返回0,否則爲1。

通常的端點地址是一樣的東西URL/行動/* *字,其中行動是你想知道什麼和是您要查找的實際字。

相關問題