将textareas字符串值转换为由新行分隔的JavaScript数组
我有一个将textareas字符串值转换为由新行分隔的JavaScript数组,javascript,jquery,arrays,string,newline,Javascript,Jquery,Arrays,String,Newline,我有一个textarea,用户可以在其中写入多达1000个字符。我需要获取jQuery('#textarea').val(),并创建一个数组,其中每个项都是textarea值的一行。这意味着: 这是文本区域内的一条漂亮的线。 这是另一行。 (假设此行为空-应忽略它)。 有人在上面留下了两行以上的新词 应转换为JavaScript数组: var texts = []; text[0] = 'This is a nice line inside the textarea.'; text[1] = '
textarea
,用户可以在其中写入多达1000个字符。我需要获取jQuery('#textarea').val()
,并创建一个数组,其中每个项都是textarea
值的一行。这意味着:
这是文本区域内的一条漂亮的线。这是另一行。
(假设此行为空-应忽略它)。
有人在上面留下了两行以上的新词 应转换为JavaScript数组:
var texts = [];
text[0] = 'This is a nice line inside the textarea.';
text[1] = 'This is another line.';
text[2] = 'Someone left more than 2 new lines above.';
这样,他们就可以很容易地查询字符串(这是提供程序要求的qs格式):
我尝试了和
string.split(“\n”)
两种方法,但它们没有处理额外的新行(也称为换行符)。有什么想法吗?String.prototype.split()
很好
var lines = $('#mytextarea').val().split(/\n/);
var texts = [];
for (var i=0; i < lines.length; i++) {
// only push this line if it contains a non whitespace character.
if (/\S/.test(lines[i])) {
texts.push($.trim(lines[i]));
}
}
请在此处查看:var split=$('#textarea').val().split('\n');
var行=[];
对于(变量i=0;i
使用拆分
功能:
var arrayOfLines = $("#input").val().split("\n");
试试这个
var lines = [];
$.each($('textarea').val().split(/\n/), function(i, line){
if(line && line.length){
lines.push(line);
}
});
就在我的头顶上,也许试着将它拆分,然后将拆分后的比特送入一个数组?@AndrewPeacock我刚刚用一些信息更新了这篇文章。我用phpjs explode()尝试了这个方法,但是它没有考虑额外的行(如果有)问题?我的意思是,你在一个数组上迭代,把每个元素推到一个新数组,而不是使用原始数组。它看起来不是很有用。我认为现在它有意义了,不是吗?它有:)尽管
行
检查是不必要的;您永远不会得到null
或undefined
。工作并处理额外的空间,谢谢!只有一件事,“int”应该删除;)只有一件事。。。允许一个额外输入,两个不允许(2个或多个应转换为一个)。有什么想法吗?这个片段不是这样吗?如果一行只包含空格,它将被忽略。是的,但您最多可以有一个空格。这对于段落分隔很方便。应该是。拆分(/\n/)
var split = $('#textarea').val().split('\n');
var lines = [];
for (var i = 0; i < split.length; i++)
if (split[i]) lines.push(split[i]);
return lines;
var arrayOfLines = $("#input").val().split("\n");
var lines = [];
$.each($('textarea').val().split(/\n/), function(i, line){
if(line && line.length){
lines.push(line);
}
});