JavaScript逻辑-解析文本区域
我需要采取一个文本框,是关于帐户的格式化信息充满,然后排序不知何故。我想知道,将信息解析为二维数组是否是理想的(我正在努力使其尽可能高效),或者我是否应该创建将信息保存在字段中的account对象 该程序只是用来格式化数据,以便无需复制/粘贴即可打印出来 到目前为止我已经JavaScript逻辑-解析文本区域,javascript,jquery,string,parsing,textarea,Javascript,Jquery,String,Parsing,Textarea,我需要采取一个文本框,是关于帐户的格式化信息充满,然后排序不知何故。我想知道,将信息解析为二维数组是否是理想的(我正在努力使其尽可能高效),或者我是否应该创建将信息保存在字段中的account对象 该程序只是用来格式化数据,以便无需复制/粘贴即可打印出来 到目前为止我已经 function generateOutputfvoc() { var accountLines = document.getElementById('accountLines').value; var acc
function generateOutputfvoc()
{
var accountLines = document.getElementById('accountLines').value;
var accountLinesTemp = accountLines.split(/[\s]/);
for(var i = 0; i < accountLinesTemp.length; i++)
{
if(accountLinesTemp[i].match(/
我想让我的程序获取文本并简单地输出如下文本:
P8B000001234567 stackoverflow Thing 12522225555 444 Active 2005-02-26 CO1000123456
P8B000001234568 stackoverflow Another Thing 444 Active 2005-02-26 CO1000123456
P8B000001234569 stackoverflow Another Thing 556 Active 2005-02-26 CO1000123456
$check=fcompcheck();
if($check)
{
$output=document.frm1.type.value+" / ";
$output=$output+"Something - "+document.frm1.disco.value+" / ";
另外,我想知道是否应该使用jQuery变量。我问这个问题是因为我一直在网上寻找,我发现一些示例使用的代码如下所示:
P8B000001234567 stackoverflow Thing 12522225555 444 Active 2005-02-26 CO1000123456
P8B000001234568 stackoverflow Another Thing 444 Active 2005-02-26 CO1000123456
P8B000001234569 stackoverflow Another Thing 556 Active 2005-02-26 CO1000123456
$check=fcompcheck();
if($check)
{
$output=document.frm1.type.value+" / ";
$output=$output+"Something - "+document.frm1.disco.value+" / ";
注意:$output变量。美元符号表示jQuery变量,对吗
谢谢你能为我提供的任何帮助
更新(1-19-13):我试过了,但进展缓慢。我习惯于编程Java,我的JavaScript看起来太相似了,我可以看出我在制造错误
我一步一步地走。这是我现在使用的逻辑
- 人员将文本粘贴到文本框中并按下“生成”按钮
- 程序获取文本框的内容并将其解析为一个大数组,只删除空白
- 然后,程序在文本中搜索模式,并开始将值传递到变量中
var contactNameFirst, contactNameLast;
// Parse the input box into an array
var inputArr = document.getElementById('inputBox').value.split(/[\s]/);
for(var i = 0; i < inputArr.length; i++)
{
if(inputArr[i] == "Summary" && inputArr[i - 1] == "section" && inputArr[i - 2] == "Collapse" && inputArr[i + 1] == "Name")
{
if(inputArr[i + 2] != "Details")
{
contactNameFirst = inputArr[i + 2];
}
else
{
contactNameFirst = "";
}
if(inputArr[i + 3] != "Details")
{
contactNameLast = inputArr[i + 3];
}
else
{
contactNameLast = "";
}
}
}
document.getElementById('contactNameOutput').innerHTML = contactNameFirst + " " + contactNameLast;
var contactNameFirst,contactNameLast;
//将输入框解析为数组
var inputArr=document.getElementById('inputBox').value.split(/[\s]/);
对于(变量i=0;i
另外,我现在应该为此创建一个新帖子,还是继续编辑此帖子?您的
accountLinesTemp
是字符串的数组
,您可以使用数组.sort
函数按预期对数组进行排序,然后使用数组。必要时加入以获取完整字符串
有关更多信息,请参见MDN上的。您是否可以发布所有代码,如果第2行之后出现了一些代码缺失的情况?另外,关于jQuery,在不知道其他代码在做什么的情况下,很难建议是否需要使用它?你所说的jQuery变量是什么意思?更重要的是,需要一个示例输入和预期输出我编辑了原始帖子并添加了示例。谢谢。变量名中的$只是一个约定,它没有任何作用。另外,对于这类问题,与其解析文本区域的输入,为什么不使用文本框组,并提供添加新组的功能,以便表单可以处理任意数量的数据?谢谢您的回答。我先调查一下。