Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RegExp,替换关键字的正确大写版本_Javascript_Regex_Replace - Fatal编程技术网

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
,而是使用反向引用。使用捕获组…捕获组@brso05
mytext.innerHTML.replace(新的RegExp(“(“+word+”),“gi”),“$1”)@Norx欢迎您!很高兴我能帮忙!您甚至不必创建捕获,您可以使用引用整个匹配的
$&
。@CasimiritHippolyte:您是对的,进行了相应的编辑。这只适用于这种情况,如果他匹配ConcerteTur,则不应该使用小写
word.toLowerCase()