Javascript中的搜索过滤器无法正常工作

时间:2016-05-30 13:03:19

标签: javascript batch-file search filter

我正在尝试制作一个小型搜索引擎,用于在HTML代码中搜索Id。 我做了......就像已经批处理的那样

dir * %typed% *

然后,包括字符串“typed”在内的所有元素都出现了。所以,我的问题是:我如何在Javascript中执行此操作?

PS:
In Batch: * %var% *
In Javascript: ???

谢谢你能帮助我!

2 个答案:

答案 0 :(得分:1)

首先获取页面的所有id

var ids = Array.prototype.slice.call(document.querySelectorAll('*'))
                     .map( el => el.getAttribute('id'))
                     .filter(Boolean)

然后你可以检查哪一个匹配你的模式

var stringToSearch = 'typed';
ids.filter( id => id.includes( stringToSearch ) );

答案 1 :(得分:0)

尝试将字符串转换为正则表达式:

// Create the regex once
var searchString = 'something%typed%';
var rxString = searchString.replace(/%/g, '.*');
var regex = new RegExp(rxString, 'i');

// (...)
// Then, for each string you want to search:

var stringToCheck = 'something was typed somewhere';
var found = regex.test(stringToCheck);

alert(found);