Напишите скрипт, который выводит цитату дня на экран на основе введенного пользователем слова или словосочетания (за основу берутся однокоренные слова, встречающиеся в том или ином высказывании).
Я написал вот такой скрипт. Но он проверяет одну строчку. Но мне нужно, что бы проверка проходила не по одной строке, а по нескольким.
<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,
Знаете по такому тех. заданию вам очень сложно помочь. Что вообще обозначает "не по одной строке, а по нескольким"?
"коля" и "валя" искались бы в "привет коля" или "коля" искался в "привет коля" и "привет Валя"? Исходя из вашего тех задания лично я могу написать две абсолютно разные программы. Если вы хотите чтобы вам помогли, то нужно более четко описывать задачу.
"не по одной строке, а по нескольким"
Я имел в виду, что у меня есть массив строк. В этом массиве нужно проверить каждую строку на наличие в ней слова "КОЛЯ". Если данное слово в ней есть, то вывести её. Я попытался это реализовать, но в результате выводятся все имена
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";
}
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);
можно наверное поизящнее, но мне за бесплатно лень