使用javascript搜索和匹配CSV文件值

时间:2015-05-18 05:13:46

标签: javascript html csv

我已经通过javascript将CSV文件上传到HTML页面。 CSV行为:nameemail-address,例如: rambo,rambo@rambo.com

如何从这些已加载的CSV文件中搜索“名称”?

此外,其中一个数据是电子邮件地址,我想向该电子邮件地址发送邮件。该值是否已检索到变量?

我搜索每个元素的代码:

function Search() {
 var fileUpload = document.getElementById("fileUpload");
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
if (regex.test(fileUpload.value.toLowerCase())) {
    if (typeof (FileReader) != "undefined") {
        var reader = new FileReader();
        reader.onload = function (e) {
          var table = document.createElement("table");
var rows = e.target.result.split("\n");
for(var i = 0; i < rows.length; i++)
{   
    var row = table.insertRow(-1); 
    var cells = rows[i].split(",");
    for(var j = 0; j < cells.length; j++)
    {
        var cell = row.insertCell(-1); 
      //  cell.innerHTML = cells[j];


    // Here repeated checkboxes:
    var radio = document.createElement('input');
    radio.type = 'checkbox';
    radio.name = 'check';

} 

var ser=document.getElementById("texts");
    if(cells[i].indexOf(ser))
    {
     alert("matches");
       cell.innerHTML = cells[i];
    }
    else
    {
     alert("unmatches");
    }

    var cell = row.insertCell(-1);
    cell.appendChild(radio);
    //cell.appendChild(button);
}
 var button = document.createElement('button');
    button.textContent = 'Send';
cell.appendChild(button);
button.onclick = function(){ alert();};

var dvCSV = document.getElementById("dvCSV");
dvCSV.innerHTML = "";
dvCSV.appendChild(table);
        }

        reader.readAsText(fileUpload.files[0]);

    } 
   }
}

1 个答案:

答案 0 :(得分:1)

广告搜索:indexOf()是您的朋友。这应该给你一个数字:

var table = $('#your-table'),
    searchstring = 'your-searchstring';
searchstring.toLowerCase();
for (var i = 0, cell; cell = table.cells[i]; i++) {
    if (cell.indexOf(searchstring)) {
        // I don't know what you want to do with the search-results...
        // ..but you can do it here.
    }
}

广告电子邮件地址:您可以将地址添加到CSV导入中的变量:

var cells = rows[i].split(","),
    address = cells[1];

我建议制作一个数组addresses并填写每一行。