我想检查一系列常见的拼写错误并修复它们,同时用户输入的是html textarea。
这是一个常见的拼写错误列表,例如两个句点,标点符号前的空格,标点符号后没有空格等等。
我知道这是一个常见问题,但我无法找到合适的jquery插件或类似的东西。
或者,如果没有这样的插件......我可以使用正则表达式的一些帮助。
答案 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/。
通过将它们添加到正则表达式,将它扩展到其他双字符应该是显而易见的。如果你想捕捉其他可以修改文本的事件,比如剪切,粘贴和拖放,你必须将这个逻辑挂钩到其他事件。