前端怎么實現搜索內容關鍵字標紅


思路:我們可以利用js的正則表達式來匹配搜索的關鍵字,匹配的文字變紅之后的文字在寫入網頁。

js正則表達式:

var re1 = /ABC\-001/;
var re2 = new RegExp('ABC\\-001');
 
re1; // /ABC\-001/
re2; // /ABC\-001/

注意,如果使用第二種寫法,因為字符串的轉義問題,字符串的兩個\\實際上是一個\

js實現:

 brightenKeyword(val, keyword) {
        const Reg = new RegExp(keyword, 'i');
        let res = '';
        if (val) {
            res = val.replace(Reg, `<span style="color: red;">${keyword}</span>`);
          return res;
        }
      }

然后將返回的字符串寫到對應元素中(vue):

<span v-html="brightenKeyword(text,searchKey)"></span>

其他前端實現異曲同工。

轉載自:前端怎么實現搜索內容關鍵字標紅


免責聲明!

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



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