是否有JavaScript庫可以確定字符串是否與搜索查詢匹配?它應該是高效的,並提供諸如Google或LexisNexis(諸如和/或操作符,同義詞和括號之類的)的高級查詢功能。任何類型的高級搜索功能都會很棒;它不必與任何特定的搜索引擎完全匹配。用於搜索引擎風格搜索的JavaScript庫?
動機:我有一個帶搜索框的HTML頁面,後面跟着一堆段落(它們具有唯一的ID並從JavaScript數組中生成)。當用戶在框中鍵入搜索查詢並按下回車鍵時,如果所有段落與查詢不匹配,則應隱藏所有段落(即它們的display
設置爲none
)。
我(使用jQuery)目前的策略:查詢字符串成以上空格分割它的關鍵字的陣列
- 獨立。
- 用
$('p').hide()
隱藏所有段落。 - 對於每個關鍵字,顯示一個包含它的段落
$('p:contains("'+keyword+'")').show()
。
這是一個非常有限的搜索功能,是區分大小寫的,把所有的關鍵字爲可選,並且不提供運營商如and
,or
或小括號。這也是低效率的,因爲即使它已經被匹配,每個關鍵字每個字符串都會經過一次。
爲了區分大小寫,您可以將關鍵字轉換爲小寫,並檢查匹配項i,e。 keyword.toLowerCase() – Shreedhar 2012-08-06 17:00:01