Форум → Программирование → JavaScript → Подсчет слов
Подсчет слов
Страницы: ← Следующая страница →
-
2 декабря 2008 г. 0:57, спустя 9 минут 19 секунд
добрый ночь, как было скзаано делается это достаточно простоСапожник без сапог -
2 декабря 2008 г. 0:58, спустя 22 секунды
страшная строка
$("#textboxid").val($("#textareaid").val().replace(/\s\S{0,2}\s/g,"").split(/\s+/).length);Сапожник без сапог -
2 декабря 2008 г. 1:02, спустя 4 минуты 20 секунд
Еще надо бы добавить, что для того, чтоб это работало необходима библиотека JQuery. -
2 декабря 2008 г. 1:05, спустя 3 минуты 5 секунд
рассказываю.
$("#textareaid").val() - вернет значение(текст) элемента с id=textareaid, будь то textarea или textbox без разницы.
$("#textareaid").val().replace(/\s\S{0,2}\s/g,"") - применит к этому значению функцию замены по регулярному выражению, чтобы вытереть слова короче 3 символов.
$("#textareaid").val().replace(/\s\S{0,2}\s/g,"").split(/\s+/) - работает над почищенной уже от 2символьных слов строкой, разбивает ее в массив по множественному пробелу(1 пробел или более).
(1) $("#textareaid").val().replace(/\s\S{0,2}\s/g,"").split(/\s+/).length - length просто вернет количество элементов в этом полученном массиве.
а $("#textboxidcount").val(…) присвоит элементу с id=textboxidcount значение, указанное в скобках. у нас в свобках - количество полученное в (1), а там количество слов длиннее 2символов. вот и все :)
можете без jquery, но с ним удобнее присваивать и извлекать значения, к тому же будет работать 100% во всех браузерах.
скажу честно код не проверял, мб допустил синт ошибку, но с виду ее не видно.
вот примерный "надеюсь" рабочий html + javascript код
<script src="http://code.jquery.com/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function calc()
{
$("#textboxidcount").val($("#textareaid").val().replace(/\s\S{0,2}\s/g,"").split(/\s+/).length);
}
</script>
<textarea id="textboxid" onchange="calc()"></textarea><input type="text" id="textboxidcount" />Сапожник без сапог -
2 декабря 2008 г. 1:05, спустя 18 секунд
AlexB, а вам слабо все так расписать? )))Сапожник без сапог -
2 декабря 2008 г. 1:06, спустя 1 минуту 16 секунд
Ну а попроще можно??? ;)
Типа такого:
fvar maximalwords=50000
if (document.layers) {netscapecorrector=1;maximalwords+=1}
if (document.all) {netscapecorrector=0}
function countwords() {
var words=""
var content=""
var corrector=0
var text=document.countform.text.value;
words=text.split(" ")
if (words[words.length-1]=="") {corrector=1;}
document.countform.countbox.value=(words.length)-corrector
if (words.length-1>=maximalwords) {
for (i=0;i<maximalwords-netscapecorrector;i++) {
content+=words+" "
document.countform.text.value=content
}
}
var timer=setTimeout("countwords()",100)
}
window.onload=countword
Только этот скрипт считает слова по количеству элементов массива. А мне нужно это доработать на подсчет слов от 3 символов. -
2 декабря 2008 г. 1:09, спустя 2 минуты 33 секунды
http://pyha.ru/forum/topic/1493.msg24718#msg24718
прочитай :) моя строчка работает точно также, просто использует слегка более правильные вещи.Сапожник без сапог -
2 декабря 2008 г. 1:17, спустя 7 минут 53 секунды
Ну что могу сказать, упрек справедливый. Не то что бы слабо, но часто бывает лениво … )))))))
AlexB, а вам слабо все так расписать? )))
В оправдание могу сказать, что обычно начинаю рассписывать, не с первой мессаги, а когда вижу что человек адекватен …
kasichvadim, если тебе еще надо количество символов регулировать, то сам Бог велел регулярками пользоваться … -
2 декабря 2008 г. 1:31, спустя 13 минут 37 секунд
короче, мой понт был фейк, я понял свою ошибку)) регулярки хуево написал чтоли.
смотри молодой человек :)<script src="http://code.jquery.com/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function calc()
{
val = $.trim($("#textareaid").val()).split(/\s+/g);
$("#textboxidcount").val($.grep(val,function (str) { return $.trim(str).length>2; }).length);
}
</script>
<textarea id="textareaid" onkeyup="calc()"></textarea><input type="text" id="textboxidcount" />
вот это 100% рабочий код
$.grep - функция для фильтрации массивов. логика проста с виду :) и скажи там если чо что мы тут лучшие! мы правда помогаем и можем почти на любой вопрос ответить ;)Сапожник без сапог -
2 декабря 2008 г. 1:34, спустя 3 минуты 10 секунд
ТС удачи, надеюсь помог. я пошел спать. бб.Сапожник без сапог -
2 декабря 2008 г. 1:42, спустя 8 минут 8 секунд
phpdude, беспаливный само-пиарщик )))))все умрут, а я изумруд -
2 декабря 2008 г. 1:43, спустя 1 минуту 30 секунд
меня тут предложили на хабре пропиарить, говорят "заказов будет обосратся" думаю согласиться или нахуй … пока времени нет сильно то работать))))))))Сапожник без сапог -
2 декабря 2008 г. 1:45, спустя 1 минуту 27 секунд
не ну а кстати, корыстные цели у всех и всегда. даже ТС из корыстных побуждений просит помощи если посудить здраво, ТС получает помощь, я чуток пиару :) все по честному ))))))) да и кстати реклама не бывает плохой, она бывает недостаточной ;) мб наебнем пхпфорум? :) навалимся так сказать
phpdude, беспаливный само-пиарщик )))))Сапожник без сапог -
2 декабря 2008 г. 1:48, спустя 3 минуты 10 секунд
у меня есть с десяток варезников :-D так что я могу создать траф небольшой н пхпфорум, допустим на главную страницу, явно кеширования нет в вбулетене или чо там у нее.
поставить по 5 фреймов злостных на каждый, скрывающихся от реферера, чтобы не закрыли дыру). фреймы на главую + на поиск :)
ибо поиск там явно там ебучий какой нить))))))))))
на варезниках есть посещаловка от 500 в день * 10 = 5000 человек * 5 = 25 000 открытый главной. :)))) ну я какбы это, суровый боец то :)Сапожник без сапог
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!