Есть простой скрипт, исправляющий небольшие ошибки за пользователями. Если пользователь поставил после точки строчную букву скрипт делает её заглавной. Работает, но необходимо, чтобы скрипт не делал буквы заглавными после аббревиатур типа и т.д. и т.п. В регулярном выражении на кириллицу скрипт не реагирует, но работает на латинице и не поднимает букву после t.d. Помогите, пожалуйста, исправить. Код следует.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
<body>
<script>
function replaceChars(entry) {
var obj = document.forms[0].elements[entry];
var str = obj.value;
var re = /(?<!t\.d)\. \S/g; // После точки слова начинаются с большой буквы если это не аббревиатуры
while(x = re.exec(str)) str = str.replace(x[0], x[0].toUpperCase());
obj.value = str;
}
</script>
<form>
<p>Text</p>
<textarea id="text" name="text" style="width:80%; height:400px;" required>Слова после точки начинаются с Заглавной буквы, если это не аббревиатуры типа и т.д. и т.п. как вы поняли и t.d. после которых ставить заглавную не надо. этот текст нужно исправить. и поставить заглавные буквы правильно.</textarea>
<p><a href="#" onclick="replaceChars('text'); return false;">Fix!</a></p>
</form>
</body>
</html>