Javascript 在ContentEditable中,只有第一行过滤正则表达式,第二行过滤失败
关于我先前的问题: div1和div2中的第一行用正则表达式过滤,第二行未过滤,并按文本框中的方式打印 这是我试图用纯JavaScript开发一个降价预览器Javascript 在ContentEditable中,只有第一行过滤正则表达式,第二行过滤失败,javascript,html,css,Javascript,Html,Css,关于我先前的问题: div1和div2中的第一行用正则表达式过滤,第二行未过滤,并按文本框中的方式打印 这是我试图用纯JavaScript开发一个降价预览器 var t=document.getElementById(“文本框”); document.addEventListener(“keyup”,function()){ var t1=t.textContent; var h1=t1.replace(“/[#]{1}(+)/g“,“$1”); document.getElementByI
var t=document.getElementById(“文本框”);
document.addEventListener(“keyup”,function()){
var t1=t.textContent;
var h1=t1.replace(“/[#]{1}(+)/g“,“$1”);
document.getElementById(“div1”).innerHTML=h1;
document.getElementById(“div2”).innerHTML=h1;
});代码>
.box{
显示器:flex;
身高:100%;
保证金:0;
}
.子框{
宽度:100%;
利润率:10px;
边框:实心#981b1e;
}
#文本框,
#第一组,
#第二组{
身高:100%;
}
所以,如果我没弄错,您要做的是:
1-打印div1中输入的第一行,由正则表达式过滤
2-打印div2中输入的第二行,无需过滤
我要做的是按换行符分割,然后分别处理每一行
var t = document.getElementById("textbox");
document.addEventListener("keyup", function() {
var t1 = t.textContent;
//something like:
var t1_array = t1.split("\n");
var line1 = t1_array[0];
var line2 = t1_array[1];
var h1 = line1.replace("/[#]{1}(.+)/g", "<h1>$1</h1>");
document.getElementById("div1").innerHTML = h1;
document.getElementById("div2").innerHTML = line2;
});
var t=document.getElementById(“文本框”);
document.addEventListener(“keyup”,function()){
var t1=t.textContent;
//比如:
var t1_数组=t1.split(“\n”);
var line1=t1_数组[0];
var line2=t1_数组[1];
var h1=line1.replace(“/[#]{1}(+)/g“,“$1”);
document.getElementById(“div1”).innerHTML=h1;
document.getElementById(“div2”).innerHTML=line2;
});
(未测试。只是尝试给出一些方向)您的正则表达式用引号括起来,所以它只是一个字符串,根本不是正则表达式-这只是示例代码中的一个输入错误吗?如果您看到代码片段,我不想在div1和div2中打印,但想打印字符串的其余部分。我尝试了,但没有成功。尽管你的解决方案有道理。我使用了JSON.stringify(h1)。contenteditable中的文本显示所有一行,并且不拆分。在测试框中,我键入:#test#test,它被打印在div 1I中,我尝试了,但没有成功。尽管你的解决方案有道理。我使用了JSON.stringify(h1)。contenteditable中的文本在一行中显示所有内容,并且不会拆分。在测试框中,我键入:#test#test,它在div 1中打印为:“test#test”