我想制作一些表,我的想法是我要将这个文本复制到我的第一个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"
替换第一个参数和第二个参数,
答案 0 :(得分:1)
您可以为.replace()
应用正则表达式:
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;