Preserving case / capitalization with JavaScript replace method

后端 未结 2 359
感动是毒
感动是毒 2021-01-14 00:48

I\'m continuing work on a search term suggestion tool using Jquery UI. I am now working on displaying the results with the search term pattern in bold. I have implemented

相关标签:
2条回答
  • 2021-01-14 01:06

    You can use:

    var rep = item.label.replace(exp,
                                 "<span style='font-weight:bold;color:Black;'>$&</span>");
    

    When replacing a string, $& means "the whole match", so you don't have to repeat the search term (in some cases you don't know it). In other flavors, you may use $0 or \0.
    Also, remember to escape special characters in this.term.

    0 讨论(0)
  • 2021-01-14 01:14

    You can add your expression in a group by encapsulating them in parentheses

    var exp = new RegExp("(" + this.term + ")", "gi") ;
    var rep = item.label.replace( exp, "<span style='font-weight:bold'>$1</span>");
    

    You can the refere to that group using $1.

    See here for more details about backreferences.

    0 讨论(0)
提交回复
热议问题