Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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 在ContentEditable中,只有第一行过滤正则表达式,第二行过滤失败_Javascript_Html_Css - Fatal编程技术网

Javascript 在ContentEditable中,只有第一行过滤正则表达式,第二行过滤失败

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

关于我先前的问题:

div1和div2中的第一行用正则表达式过滤,第二行未过滤,并按文本框中的方式打印

这是我试图用纯JavaScript开发一个降价预览器

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”