Скрипт считает количество слов, введенных в текстовую форму.
Примерный HTML-код для формы ввода текста и получения результатов подсчета:


<form name="textForm">
<textArea maxlength="1000" rows="12" cols="30" onchange="countWords(this)"></textArea><br>
<strong>Количество слов в форме:</strong>
<input type="text" size="5" id="word_amount" readonly />
</form>

Далее следует скрипт, алгоритм действий которого следующий: переносы слов в текстовой форме заменяем пробелами, несловарные символы (точки, запятые, скобки, двоеточия и т.п.) заменяем пробелами, заменяем более одного пробела на одиночный пробел, удаляем пробел в конце и начале строки.

Затем из полученной строки создаем массив, в качестве разделителей элементов используем пробел. Количество слов в текстовой форме равно длине полученного массива. Записываем результат в input с id="word_amount".


function countWords(textarea) {

	if (textarea.value != 0 ) {

		var stringText = textarea.value.replace(/\n/," ").replace(/\W/gi," ").replace(/\s{2,}/gi," ").replace(/ $/,"").replace(/^ /,"");

		var text_array = stringText.split(" ");
		document.getElementById("word_amount").value = text_array.length;

	} else {

		document.getElementById("word_amount").value = 0;

	}
}

Заказ дополнительных модулей, доработок и кастомизации скрипта ждем по эл.адресу автора: freeden_codomaza@mail.ru .

Комментарии

captcha
 9 мар. 2013 Ответить

Почему-то русские символы скрипт не считает.

 17 июн. 2016 Ответить

Точно. Только иностранные слова и считает.

 28 янв. 2017 Ответить

Ребят, чтоб читало русский текст, надо править регулярные выражения.