Исправьте двойные запятые, точки и другие распространенные опечатки - PullRequest
1 голос
/ 04 сентября 2011

Я тоже хочу проверить ряд общих опечаток и исправить их в режиме реального времени, пока пользователь вводит текстовое поле html.

Это общий список опечаток, таких как два периода, пробел перед пунктуацией,пробела нет, и так далее.

Я знаю, что это общая проблема, но я не могу найти подходящий плагин jquery или что-то в этом роде.

В качестве альтернативы, еслинет такого плагина ... Я мог бы использовать некоторую помощь с регулярными выражениями для использования.

1 Ответ

1 голос
/ 04 сентября 2011

Вот некоторый код jQuery, который удаляет двойные запятые и двойные точки в набранном виде:

HTML:

<textarea class="autoCorrect" rows="5" cols="40">Some initial text</textarea>

Javascript:

$(".autoCorrect").keypress(function() {
    var obj = this;
    setTimeout(function() {
        var text = obj.value;
        var selStart = obj.selectionStart;
        var newText = text.replace(/,{2,}|\.{2,}/, function(match, index) {
            if (index < selStart) {
                selStart -= (match.length - 1);  // correct the selection location
            }
            return(match.substr(0,1));
        });
        if (newText != text) {
            obj.value = newText;
            obj.selectionStart = obj.selectionEnd = selStart;
        }
    }, 1);
})

Вы можете увидеть это в действии здесь: http://jsfiddle.net/jfriend00/XbZrS/.

Должно быть очевидно, как вы расширяете его на другие двойные символы, просто добавляя их в регулярное выражение. Если вы хотите перехватывать другие события, которые могут изменить текст, такие как вырезание, вставка и перетаскивание, вам придется также подключить эту логику к этим другим событиям.

...