JavaScript逻辑-解析文本区域

JavaScript逻辑-解析文本区域,javascript,jquery,string,parsing,textarea,Javascript,Jquery,String,Parsing,Textarea,我需要采取一个文本框,是关于帐户的格式化信息充满,然后排序不知何故。我想知道,将信息解析为二维数组是否是理想的(我正在努力使其尽可能高效),或者我是否应该创建将信息保存在字段中的account对象 该程序只是用来格式化数据,以便无需复制/粘贴即可打印出来 到目前为止我已经 function generateOutputfvoc() { var accountLines = document.getElementById('accountLines').value; var acc

我需要采取一个文本框,是关于帐户的格式化信息充满,然后排序不知何故。我想知道,将信息解析为二维数组是否是理想的(我正在努力使其尽可能高效),或者我是否应该创建将信息保存在字段中的account对象

该程序只是用来格式化数据,以便无需复制/粘贴即可打印出来

到目前为止我已经

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看起来太相似了,我可以看出我在制造错误

我一步一步地走。这是我现在使用的逻辑

  • 人员将文本粘贴到文本框中并按下“生成”按钮
  • 程序获取文本框的内容并将其解析为一个大数组,只删除空白
  • 然后,程序在文本中搜索模式,并开始将值传递到变量中
我试图让程序简单地识别模式“Summary section collapse Name”,因为这四个单词应该始终在这个序列中。一旦它识别出了这一点,它将把接下来的两个数组值传递给first和last name变量。下面是一些代码:

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变量是什么意思?更重要的是,需要一个示例输入和预期输出我编辑了原始帖子并添加了示例。谢谢。变量名中的$只是一个约定,它没有任何作用。另外,对于这类问题,与其解析文本区域的输入,为什么不使用文本框组,并提供添加新组的功能,以便表单可以处理任意数量的数据?谢谢您的回答。我先调查一下。