我想从文本区域的内容创建一个数组。文本区域包含一个可变的名称列表(每个名称只有一个单词,没有空格)。
到目前为止,我有以下问题,我在这里唯一的问题是,单个名称没有用逗号分隔,而是只出现在单独的行中,每行一个名称,我不知道如何检测到这一点。此文本区域的内容是手动创建的,因此用户可以在每个名称后按Enter键,也可以从Excel表中复制/粘贴名称列表。
我怎样才能做到这一点?我想我唯一需要改变的就是split(',')
。
我的jQuery:
var arrUsers = $('#ntid').val().split(',');
var xmlUsers = '<users>';
for(i=0; i<arrUsers.length; i++) {
xmlUsers += '<ntid>' + arrUsers[i] + '</ntid>';
}
xmlUsers += '</users>';
示例HTML(缩写):
<textarea rows="7" class="form-control" id="ntid">
name1
name2
name3
</textarea>
您可以使用n
而不是逗号,并修剪拆分的值。
var arrUsers = $('#ntid').val().split('n');
var xmlUsers = '<users>';
for(i=0; i<arrUsers.length; i++) {
var val = $.trim(arrUsers[i]);
//check if there is any text after trimming
if(val != "") {
xmlUsers += '<ntid>' + val + '</ntid>';
}
}
xmlUsers += '</users>';
alert(xmlUsers);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea rows="7" class="form-control" id="ntid">
name1
name2
name3
</textarea>