修复双逗号,句号和其他常见错别字

时间:2011-09-04 16:46:51

标签: jquery textarea autocorrect

我想检查一系列常见的拼写错误并修复它们,同时用户输入的是html textarea。

这是一个常见的拼写错误列表,例如两个句点,标点符号前的空格,标点符号后没有空格等等。

我知道这是一个常见问题,但我无法找到合适的jquery插件或类似的东西。

或者,如果没有这样的插件......我可以使用正则表达式的一些帮助。

1 个答案:

答案 0 :(得分:1)

这里有一些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/

通过将它们添加到正则表达式,将它扩展到其他双字符应该是显而易见的。如果你想捕捉其他可以修改文本的事件,比如剪切,粘贴和拖放,你必须将这个逻辑挂钩到其他事件。