我正在尝试实现一个搜索,我只匹配并在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');
但没有任何事情像我希望的那样发挥作用。有什么想法吗?
答案 0 :(得分:1)
示例匹配:
正则表达式:
/(^|\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了解具体方法。