Всем привет, кодю на vb.net, соотв.. js не знаю - только начал учить, срочно понадобился код поиска в текстовой базе, в инете нашел пример функции, но поиск идет только по одному значению, а мне нужно (если введено предложение) чтоб обязательно включало все слова..
Это пример на обычном vb
function test()
dim i,x,col
dim val=document.getElementById('str').value;
var arr = split(val,' ');
for i=0 to ubound(Keyword)
for x=0 to ubound(arr)
if instr(keyword(i),arr(x))>0 then
col=split(keyword(i),"|")
nStroka = '<tr><td>'+col(0)+'</td>';
nStroka = nStroka + '<td>'+col(1)+'</td><td>'+col(2)+'</td><td>'+col(3)+'</td></tr>';
dlm = dlm + nStroka;
end if
next
next
dlm = dlm + '</table>';
Я попытался переделать это так
function test() {
var val = document.getElementById('str').value;
var arr = val.split(' ');
var nStroka ='';
for(var i = 0; i < Keyword.length; i++) {
arr.forEach(function(elem) {
if (Keyword[i].indexOf(elem) !== -1){
nStroka = '<tr><td>'+col[0]+'</td>';
nStroka = nStroka + '<td>'+col[1]+'</td><td>'+col[2]+'</td><td>'+col[3]+'</td></tr>';
dlm = dlm + nStroka;
};
};
dlm = dlm + '</table>';
document.getElementById('info1').innerHTML=dlm;
document.getElementById('info0').innerHTML=' ' + Keyword [0];
};
Это оригинал функции для поиска одного введенного значения
function test() {
var val = document.getElementById('str').value;
var dlm = '';
var re = new RegExp('\^'+val,'i');
dlm = '<table border=1 width=90%><th>зн0</th><th>зн1</th><th>зн2</th><th>зн3</th>';
for(var i = 0; i < Keyword.length; i++) {
var col = Keyword[i].split('|');
if (re.test(Keyword[i])) {
var nStroka ='';
nStroka = '<tr><td>'+col[0]+'</td>';
nStroka = nStroka + '<td>'+col[1]+'</td><td>'+col[2]+'</td><td>'+col[3]+'</td></tr>';
dlm = dlm + nStroka;
};
};
dlm = dlm + '</table>';
document.getElementById('info1').innerHTML=dlm;
document.getElementById('info0').innerHTML=' ' + Keyword [0];
};
Прошу не пинать, только начинаю учить js...
Пожалуйста если не поможете то хотя бы направте что изменить..