2013-10-24 2 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 словарь

Чтобы использовать опечатку, просто включите файл 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, есть некоторые OpenSource из них:

wiktionary

glosbe.com

dictionary-api

Когда пользователь заканчивает ввод, вы можете использовать функцию для асинхронного вызова (AJAX с JS или JQuery) в endopoint API; если объект в ответе не является недействительным или нулевым или просто указывает, что в словаре нет слов, ваша функция может возвращать 0, иначе 1.

Обычно адрес конечной точки является то, как URL/действие/* слово *, где действия является то, что вы хотите знать и слова фактического слово, которое вы ищите.

Смежные вопросы