посчитать слова в форме TewxtArea
Здравствуйте! Необходима помощь в написании небольшого скрипта на javascript. Нужно посчитать количество слов в форме TextArea.
Вот уже готовый вариант:
<html><head>
<title>Лабораторна робота №3</title>
<script>
function perevirka(){var s = object.value;
if (s=="")
alert('Рядок не заданий')
else {s = s.replace (/\r\n?|\n/g, ' ').replace (/ {2,}/g, ' ').replace (/^ /, '').replace (/ $/, '');
var q = s.split (' ');
alert ('Количество слов: ' + q.length);}
}
</script>
</head>
<body>
<br>
<center>
Задайте рядок
<br>
<textarea name="object" cols="30" rows="10" title="Введите текст" onKeyDown="textCounter(this)" onKeyUp="textCounter(this)"></textarea>
<br><br>
<input type="button" value="Перевірити" onClick="perevirka()">
</center>
</body>
</html>
Но нужно использовать метод без replace(), для этого надо три переменных: 1) Для считывания текста ( в данном случае она есть это - "s") 2) Для проверки индекса (это не знаю как сделать :-? ) 3) Для вывода количества слов (она есть это q.length) Подскажите попроще как это можно осуществить. Заранее благодарен :) |
Вот здесь на phpguru.com.ua есть реализация
|
Рекомендую там несколько вариантов выбери какой понравится
|
<html><head>
<title>Лабораторна робота №3</title>
<script>
function textCounter(a){
obj = a
}
function podschet(){
if(typeof obj!=='undefined') var s = obj.value;
if (typeof obj=='undefined'||s=="") {
alert('Рядок не заданий'); return;
} else {
var q = s.split(/[\s\n,\.]+/gm);
alert ('Количество слов: ' + q.length);
}
}
</script>
</head>
<body>
<br>
<center>
Задайте рядок
<br>
<textarea name="object" cols="30" rows="10" title="Введите текст" onClick="textCounter(this)"></textarea>
<br><br>
<input type="button" value="Перевірити" onClick="podschet()">
</center>
</body>
</html>
|
| Часовой пояс GMT +3, время: 12:26. |