Есть два текстовых поля. В одном ссылки в другом маски. Как можно сделать фильтр ссылок, чтобы по заданным маскам удалялись лишние ссылки.
Пример.
База ссылок
441.vsemp.ru
52nnov.ucoz.ru
63sam.ucoz.ru
63tol.ucoz.ru
73.ucoz.ru
8999.ru
anshum.narod.ru
905.ucoz.ru
abon.net.ua
база масок
.ucoz.
narod.ru
Результат работы скрипта
441.vsemp.ru
8999.ru
abon.net.ua
Я пытался составлять регулярное выражение из строчного значения добавляя слэши, но не работает. Видимо не преобразуется строка в регекс.
function filter(){
var mass = new Array();
var base = new Array();
var re = /[a-z0-9\.\-]+/gi;
var str1;
str = document.getElementsByName('base')[2].value;
filterbase = str.match(re);
for (i=0; i<filterbase.length; i++)
{
str1 = "/"+"filterbase[i]"+"/";
for (k=0; k<mass.length; k++)
{
if (mass[k].search(str1)!=-1)
{
mass.splice(k,1);
}
}
}
document.getElementsByName('base')[1].value = mass.join('\n');
}
Я мог бы прогонять цикл по каждой строке текстового поля базы с целью найти подстроку-маску, но это значительно замедляет скрипт (ощутимо при 2000+ ссылок).
Есть ли идеи, решения?