Javascript RegExp,替换关键字的正确大写版本
我有一个简单的文本,当点击按钮时,我突出显示一个特定的关键字Javascript RegExp,替换关键字的正确大写版本,javascript,regex,replace,Javascript,Regex,Replace,我有一个简单的文本,当点击按钮时,我突出显示一个特定的关键字 <p id="mytext">Lorem ipsum dolor sit amet, consectetur.</p> 连续第二天,洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum Door sit amet) 单击 var mytext=document.getElementById(“mytext”); var btn=document.getElementById(“btn”); var-
<p id="mytext">Lorem ipsum dolor sit amet, consectetur.</p>
连续第二天,洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum Door sit amet)
单击
var mytext=document.getElementById(“mytext”);
var btn=document.getElementById(“btn”);
var-word=/concetetur/gi;
btn.addEventListener(“单击”,函数(){
mytext.innerHTML=mytext.innerHTML.replace(单词,$&)
},假)代码>
.h{
背景:黄色;
}
连续第二天,洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum Door sit amet)
单击使用捕获组,然后用匹配的值替换<代码>$1
引用第一个(也是唯一一个)捕获的组
mytext.innerHTML.replace(new RegExp("(" + word + ")", 'gi'), '<span class="h">$1</span>')
连续第二天,洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum Door sit amet)
单击
保持当前代码只需将.toLowerCase()
附加到word
即:
var mytext=document.getElementById(“mytext”);
var btn=document.getElementById(“btn”);
var word=“concertetur”;
btn.addEventListener(“单击”,函数(){
mytext.innerHTML=mytext.innerHTML.replace(新的RegExp(单词'gi'),''+word.toLowerCase()+'')
},假)代码>
.h{
背景:黄色;
}
连续第二天,洛雷姆·伊普苏姆·多洛尔·希特·阿梅特(Lorem ipsum Door sit amet)
单击
在替换中不要使用word
,而是使用反向引用。使用捕获组…捕获组@brso05mytext.innerHTML.replace(新的RegExp(“(“+word+”),“gi”),“$1”)代码>@Norx欢迎您!很高兴我能帮忙!您甚至不必创建捕获,您可以使用引用整个匹配的$&
。@CasimiritHippolyte:您是对的,进行了相应的编辑。这只适用于这种情况,如果他匹配ConcerteTur,则不应该使用小写
word.toLowerCase()