Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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 如何截断textarea中的多行?_Javascript_Substring_Textarea - Fatal编程技术网

Javascript 如何截断textarea中的多行?

Javascript 如何截断textarea中的多行?,javascript,substring,textarea,Javascript,Substring,Textarea,我正在尝试创建一个2文本区域工具,其中我在1个文本区域中输入多达300行的文本,它删除除前5个字符以外的所有字符,并在第二个文本区域中仅吐出这5个字符 请原谅我失败的尝试。我知道我的代码到处都是。我尝试了多种方法来实现这一点。我相信forloop是最好的,但我无法使用。子字符串 function lineParse() { var parseBoxList = document.getElementById("parsebox").value; var nodeLength = 5; var t

我正在尝试创建一个2文本区域工具,其中我在1个文本区域中输入多达300行的文本,它删除除前5个字符以外的所有字符,并在第二个文本区域中仅吐出这5个字符

请原谅我失败的尝试。我知道我的代码到处都是。我尝试了多种方法来实现这一点。我相信forloop是最好的,但我无法使用。子字符串

function lineParse() {
var parseBoxList = document.getElementById("parsebox").value;
var nodeLength = 5;
var trimFat = parseBoxList.substring(0, nodeLength);
var text = document.getElementById("parsebox").value;   
var lines = text.split('/n');
var cut = lines.substring(0, 5);
var count = lines.length;      
var x = document.getElementById("parsebox").value;

var text2 = "";
  var i;
var parseLength = 5;

  for (i = 0; i < lines.length; i++) {
    var text3 = text2;
text2 += lines[i];
}



  document.getElementById("demo").innerHTML = cut;
函数lineParse(){
var parseBoxList=document.getElementById(“parsebox”).value;
变量节点长度=5;
var trimFat=parseBoxList.substring(0,节点长度);
var text=document.getElementById(“parsebox”).value;
变量行=text.split('/n');
var cut=行。子字符串(0,5);
变量计数=行数。长度;
var x=document.getElementById(“parsebox”).value;
var text2=“”;
var i;
var-parseLength=5;
对于(i=0;i

什么都没有发生

您应该能够通过以下代码实现所需的功能:

HTML


这是一条线
这是一条线
这是一条线
这是一条线
这是一条线
执行
JS

功能测试(){
//按换行符拆分文本区域值
变量行=document.getElementById(“textarea1”).value.split(“\n”);
var newText=“”;
//在文本区域行数组和子字符串上循环以获得前5个字符
对于(变量i=0;i

您应该能够通过以下代码实现所需的功能:

HTML


这是一条线
这是一条线
这是一条线
这是一条线
这是一条线
执行
JS

功能测试(){
//按换行符拆分文本区域值
变量行=document.getElementById(“textarea1”).value.split(“\n”);
var newText=“”;
//在文本区域行数组和子字符串上循环以获得前5个字符
对于(变量i=0;i

您没有使用正确的分隔符。换行符不是/n。您是否尝试过使用
文本溢出:省略号
样式?正如名称所示,子字符串必须用于字符串,因此在数组中使用它将不起作用。我是否遗漏了什么,或者这是您试图实现的吗?@jakobson接近我想要做的,but我想让它创建一个数组,切片数组并分割每一行,因此假设我有一个文本区域,其中有10行文本,长度为40个字符。我需要在所有40行中的前5个字符在第二个文本区域中吐出。您没有使用正确的分隔符。换行符\n不是/n。您是否尝试使用
文本溢出:省略号
style?正如名字所说,必须在字符串上使用子字符串,因此在数组中使用它是行不通的。我是否遗漏了什么,或者这就是你想要实现的吗?@JakoBasson接近我想要做的,但我希望它创建一个数组,对数组进行切片,并拆分每一行,这样我就有一个包含10行文本的文本区域这是40个字符长我需要所有40行的前5个字符吐出在第二个文本区域
<textarea id="textarea1">
this1 is a line 
this2 is a line 
this3 is a line 
this4 is a line 
this5 is a line 
</textarea>
<textarea id="textarea2"></textarea>

<button id="execute">Execute</button>
function test() {
  // split text area value by newline
  var lines = document.getElementById("textarea1").value.split("\n");

  var newText = "";

  // loop over text area line array and substring each to get the first 5 characters
  for (var i = 0; i < lines.length; i++) {
    var line = lines[i];
    newText += line.substring(0, 5) + "\n";
  }

  // set values to newText variable
  document.getElementById("textarea2").value = newText;
  document.getElementById("textarea1").value = newText;
}

document.getElementById("execute").addEventListener('click', test);