模糊查詢關鍵字高亮顯示以及多個關鍵字的匹配定位


需求中我們經常會遇到模糊查詢的方式渲染數據,效果類似於下圖:

js渲染數據的方式如下:

var keyword = $("#searchSchool").val();
for(var i=0;i<data.schoolNames.length;i++){
   var renderPage = '<li dataId="'+data.schoolNames[i].id+'"><p>'+data.schoolNames[i].schoolName.replace(new RegExp(keyword,'g'),'<lable style="color: #28c4ff">'+keyword+'</lable>')+'</p></li>'
   $(".searchSchoolList").append(renderPage);
 }

 其中關鍵部分在於,replace需要替換的值是通過變量的方式進去的,如果通過replace(keyword,'')的方式的話,匹配一個是沒有問題的,但如果要匹配全局的,replace(/keyword/g,'')這樣的方式是不行的,變量keyword是傳不到正則里面的,於是利用 JS 的 RegExp 對象,將 g 參數單拿了出來,這樣的話,正則的內容可以用變量來代替了,

string.replace(new RegExp(keyword,'g'),'<lable>'+keyword+'</lable>');

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM