Heim >Backend-Entwicklung >PHP-Tutorial >javascript - 如何做这种模糊搜索

javascript - 如何做这种模糊搜索

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 20:49:121404Durchsuche

<code class="lang-javascript">array = ["关于我们-网站公告-公告内页.html",
         "关于我们-网站公告-公告内页.html",
         "关于我们-网站公告-新闻内页.html",
         "关于我们.html",
         "联系我们.html",
         "我们的产品.html"]
</code>

输入关键字“关于公告”,在array中查找,显示下面的列表。 希望能提供一个思路~~

javascript - 如何做这种模糊搜索

回复内容:

<code class="lang-javascript">array = ["关于我们-网站公告-公告内页.html",
         "关于我们-网站公告-公告内页.html",
         "关于我们-网站公告-新闻内页.html",
         "关于我们.html",
         "联系我们.html",
         "我们的产品.html"]
</code>

输入关键字“关于公告”,在array中查找,显示下面的列表。 希望能提供一个思路~~

javascript - 如何做这种模糊搜索

将搜索关键字全部拆分,用.*拼接,然后正则匹配。javascript实现方法:

<code class="lang-javascript">var testarray = new Array('关于我们-网站公告-公告内页.html',
'关于我们-网站公告-新闻内页.html',
'关于我们.html',
'联系我们.html',
'我们的产品.html');
var searchstr = '关于公告';
var searcharr = searchstr.split('');
var reg = new RegExp(searcharr.join('.*'));
var resultarr=new Array();
for(var i=0;i<testarray.length if resultarr.push console.log></testarray.length></code>

最后结果是:["关于我们-网站公告-公告内页.html", "关于我们-网站公告-新闻内页.html"]

不少js库可以实现你这个需求

http://www.open-open.com/ajax/AutoComplete.htm

把你的array, json_encode构造好传到页面中,交给js就行了.高级一点可以做成ajax的

如果不考虑英文、不考虑任意颠倒次序的话,那么思路如下:

r = new RegExp('关+于+公+告+');

然后 r.test(s)

至于如何把 '关于公告' 变成 '关+于+公+告+' ,可以:

sKeyword = '关于公告';

sKeyword = sKeyword.replace(/(.)/g, '$1+');

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:请求终止问题Nächster Artikel:2003 can't connect to mysql server on 10060