用js代替文本(保持uc)

时间:2017-08-24 09:25:08

标签: javascript

我制作了这个剧本,我有一个问题:

$(document).ready(function() {
  $('html').html(function(i, v) {
    var searchMask = "think";
    var regEx = new RegExp(searchMask, "ig");
    return v.replace(regEx, '<span style="background-color:yellow;">$&</span>');
  });
});
<p id="demo">String replace. any Think new replace</p>

这个脚本在html中取一个单词,如“think”,并将其替换为背景颜色范围内的搜索词。

如果你看到小提琴最初“认为”有“T”资本,那么在替换之后当然会变成微小的“t”。我希望脚本始终保持区分大小写,这可以用js完成吗?

我希望能够通过搜索小字来改变它们。

小提琴:http://jsfiddle.net/GHQU6/9/

2 个答案:

答案 0 :(得分:3)

您可以将找到的带有$&的字符串插入到替换中。

var searchMask = "think",
    regEx = new RegExp(searchMask, "ig"),
    v = 'THINK, but do not think too much!';

document.body.innerHTML += v.replace(regEx, '<span style="background-color:yellow;">$&</span>');

答案 1 :(得分:1)

因为您正在替换为searchMasksearchMask = "think"

将其更改为Think。有一个确切的单词替换正在发生。

您可以将其更改为&$以替换找到的字词。

return v.replace(regEx, '<span style="background-color:yellow;">$&</span>');

&#13;
&#13;
$(document).ready(function() {
  $('html').html(function(i, v) {


    var searchMask = "think";
    var regEx = new RegExp(searchMask, "ig");

    return v.replace(regEx, '<span style="background-color:yellow;">$&</span>');



  });
});
&#13;
<p id="demo">String replace. any Think new replace</p>
&#13;
&#13;
&#13;