如何使用javascript为每行文本添加前缀/后缀?

时间:2010-12-11 06:44:16

标签: javascript

我如何为文本区域添加每行前缀..例如:

这是textarea的内容:

hello
124


我希望在每一行添加[b]前缀和后缀,这样当我点击一个按钮时,结果将是:



[b]hello[/b]
[b]124[/b]


请帮帮我:(

4 个答案:

答案 0 :(得分:3)

text = document.getElementById("the_textarea").value;
document.getElementById("the_textarea").value = text.replace(/.+/g, "[b]$&[/b]");

示例:

alt text

答案 1 :(得分:2)

只使用普通的Javascript,你可以这样做:

var textArea = document.getElementById("yourTextAreaID");
var lines = textArea.value.split("\n");
for (var i = 0; i < lines.length; ++i) {
    lines[i] = "[b]" + lines[i] + "[/b]";
}
textArea.value = lines.join("\n");

或者,正如@Alin Purcaru建议的那样,不使用循环:

var textArea = document.getElementById("yourTextAreaID");
textArea.value = "[b]" + textArea.value.split("\n").join("[/b]\n[b]") + "[/b]";

答案 2 :(得分:2)

使用连接和拆分:

var prefix = '[b]', suffix = '[/b]',
   txt = document.getElementById('myText');
txt.value = prefix + txt.value.split('\n').join(suffix + '\n' + prefix) + suffix;

答案 3 :(得分:1)

<script language="javascript" type="text/javascript">
function TextDefine(val){
var i= 0;                

var array1 = val.value.split("\n");
for ( i = 0; i < array1.length; i++) {
    array1[i] = "[b]" + array1[i] + "[/b]";
}
val.value = array1.join("\n");

}
</script>

<textarea name="data" id="data"></textarea>
<input type="button" name="submit1" value="Submit" onclick="TextDefine(document.getElementById('data'))" />