如何在第二个texarea获得所需的输出?

时间:2016-09-15 19:38:27

标签: javascript jquery html

我想制作一些表,我的想法是我要将这个文本复制到我的第一个textarea,名为:text,

33345677 RM  GW
456575 FAC GOG

在第二个textarea中产生以下输出:out1

    "RBD|facebook|W|google|C|33345677~W~RM  GW" "dasd.wbs"
    "RBD|facebook|I|google|C|33345677~E~RM  GW" "dasd.wbs"
    "RBD|facebook|O|google|C|33345677~R~RM  GW" "dasd.wbs"
    "RBD|facebook|W|google|C|456575~W~FAC GOG" "dasd.wbs"
    "RBD|facebook|I|google|C|456575~E~FAC GOG" "dasd.wbs"
    "RBD|facebook|O|google|C|456575~R~FAC GOG" "dasd.wbs"

我需要在第一个textarea的每一行产生3个表,规则是我有两个参数,第一个空格定义第一个参数的结尾, 两个textareas的代码如下:

<textarea cols="70" rows="15" id="text" ></textarea>
<div cols="70" rows="15" id="out1" ></div>

我想使用我构建的一个buttom来生成那些表:Generate Tables,

<div class="wrapper">
<button class="button buttom0" style="vertical-align:middle;background-color:Green" onclick="generateTables()"; ><span>Generate Tables</span></button>  
using the function called: generateTables,
function generateTables() {
var newText = document.getElementById("text").value;
document.getElementById("out1").innerHTML = newText;
}

问题是我不知道如何继续在第二个textarea中显示上面所需的输出,因为我是网络编程的初学者,我用bash中的模板来做,我真的很感激任何克服这种情况的建议我都写了下面的jsfiddle,以便更清楚https://jsfiddle.net/ncve6g1d/

我认为定义模板然后按如下方式替换可能是个好主意:

"RBD|facebook|W|google|C|[FIRSTPARAMETER]~W~[SECONDPARAMETER]" "dasd.wbs"
"RBD|facebook|I|google|C|[FIRSTPARAMETER]~E~[SECONDPARAMETER]" "dasd.wbs"
"RBD|facebook|O|google|C|[FIRSTPARAMETER]~R~[SECONDPARAMETER]" "dasd.wbs"

替换第一个参数和第二个参数,

1 个答案:

答案 0 :(得分:1)

您可以为.replace()应用正则表达式:

&#13;
&#13;
var generate = document.getElementById('generate');
var input = document.getElementById('input');
var output = document.getElementById('output');

generate.onclick = function() {
  var text = input.value;
  text = text.replace(/(\S+)\s+(.*)/g, 
         '"RBD|facebook|W|google|C|$1~W~$2" "dasd.wbs"\n' +
         '"RBD|facebook|I|google|C|$1~E~$2" "dasd.wbs"\n' +
         '"RBD|facebook|O|google|C|$1~R~$2" "dasd.wbs"');
  output.textContent = text;
};
&#13;
<textarea id="input" style="width:100%">33345677 RM  GW
456575 FAC GOG</textarea><br>
<button id="generate">Generate table</button><br>
<div id="output" style="width:100%; white-space:pre"></div>
&#13;
&#13;
&#13;