字体高亮一般用在网站搜索的时候,通常我们会把搜索出来的文字设置成高亮,像百度搜索出来的一样,搜索关键字会变成红色高亮。下面通过javascript把字符串中的指定文字设置高亮。我们通过RegExp和replace来完成。
RegExp:javascript中的正则表达式对象。
RegExp(reg,attributes):reg参数是验证的正则表达式或者字符串,attributes参数是一个可选字符串且只能是"g","i","m"三个字母。
"g":匹配被验证字符串中的所有匹配文字;
"i":不区分大小写;
"m":多行模式考虑换行。
如果reg参数为Reg对象而非字符串,则必须省略attributes参数,否则抛出异常。
var highLight = function (c, t) { if (c == undefined || c == "" || c == null) return c; var arr = t.split(" "); var r = ""; for (var i = 0; i < arr.length; i++) { if (i == 0) r = r + "("; r = r + arr[i]; if (i != arr.length - 1) r = r + "|"; else r = r + ")"; } return c.replace(new RegExp(r, "gi"), function (v) { return v.fontcolor('red'); }) }
c:待设置的初始字符串
t:需要设置高亮的字符串,这里支持用空格隔开的多关键字搜索。