Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрипт поиска цитат (https://javascript.ru/forum/misc/7563-skript-poiska-citat.html)

kmc_2000 08.02.2010 12:52

Скрипт поиска цитат
 
Напишите скрипт, который выводит цитату дня на экран на основе введенного пользователем слова или словосочетания (за основу берутся однокоренные слова, встречающиеся в том или ином высказывании).

Octane 08.02.2010 15:42

Вы просите готовый скрипт с нуля.

Это работа, и за нее обычно платят деньги.
Для таких сообщений предназначен раздел форума "Работа".

Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела.

kmc_2000 08.02.2010 17:44

Я написал вот такой скрипт. Но он проверяет одну строчку. Но мне нужно, что бы проверка проходила не по одной строке, а по нескольким.
<SCRIPT LANGUAGE="JavaScript">
var s = "привет коля";
var re = /КОЛЯ/;
var result = re.test(s) ? " " : " 1 ";
if (result==1)
document.write(s);
else document.write('совпадений нета');
result = "0";
document.write(result);
</SCRIPTt>
Я понимаю, что для этого нужно создать строковый массив, и запустить цикл проверки. подскажите как это отрганизовать.

kmc_2000 08.02.2010 17:48

result = "0";
document.write(result);
Эти строчки я написал для проверки обнуления переменной "result"

Gozar 08.02.2010 18:11

kmc_2000,
Знаете по такому тех. заданию вам очень сложно помочь. Что вообще обозначает "не по одной строке, а по нескольким"?
"коля" и "валя" искались бы в "привет коля" или "коля" искался в "привет коля" и "привет Валя"? Исходя из вашего тех задания лично я могу написать две абсолютно разные программы. Если вы хотите чтобы вам помогли, то нужно более четко описывать задачу.

kmc_2000 08.02.2010 18:23

"не по одной строке, а по нескольким"
Я имел в виду, что у меня есть массив строк. В этом массиве нужно проверить каждую строку на наличие в ней слова "КОЛЯ". Если данное слово в ней есть, то вывести её. Я попытался это реализовать, но в результате выводятся все имена

s=new Array();
s[0]="привет коля";
s[1]="валя";
s[2]="петя";
var re = /КОЛЯ/;
for(var i=0; i<3; i++)
{
var result = re.test(s) ? "' " : " 1 ";
if (result==1)
document.write(s+"<br>");
else document.write('совпадения нет'+"<br>");
result = "0";
}

Gozar 08.02.2010 18:27

забудьте про document.write, выводите значение alert() и после цикла, не нужно в теле цикла ничего выводить

Gozar 08.02.2010 18:36

var s = ["привет КоЛя","валя","петя"];
var re = 'коля';
var mes;

for(var i=0; i<s.length; i++){ 
 if(s[i].toLowerCase().indexOf(re.toLowerCase())>=0){
 mes = s[i];
 break;
}
}

if(mes!=undefined) alert(mes);


можно наверное поизящнее, но мне за бесплатно лень :)

kmc_2000 08.02.2010 18:46

Спасибо вам,:yes: дальше я уже сам. Не буду вас отвлекать.Ещё раз огромное спасибо


Часовой пояс GMT +3, время: 13:08.