使搜索字符串变为粗体,但仅限于单词的开头

时间:2016-05-27 06:50:06

标签: javascript regex

我正在尝试实现一个搜索,我只匹配并在Javascript中加粗单词的开头。

所以,如果你搜索“巧克力”,会出现“巧克力”,但如果你搜索“迟到”,巧克力就不会出现。

我有:

if( queryString.match(new RegExp('/\b'+inputField.val()+'/', 'gi')) )

然后突出显示这个词:

var tempName = queryString.replace(new RegExp('(^|\b)(' + inputField.val() + ')(|$)','ig'), '$1<strong>$2</strong>$3');

但没有任何事情像我希望的那样发挥作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

示例匹配

DemoDemo

正则表达式:

/(^|\s)(late)/gmi

/\b(late)/gmi

这将匹配:

巧克力 choco

替换示例

var search = "Chocolate latechoco";
document.write(search.replace(/\b(late)/gmi, "<strong>$1</strong>"));

另请注意,您的搜索字符串inputField.val()应始终转义。请参阅this answer了解具体方法。