【问题标题】:Search and match CSV file values with javascript使用 javascript 搜索和匹配 CSV 文件值
【发布时间】:2015-05-18 05:13:45
【问题描述】:

我已通过 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]);

    } 
   }
}

【问题讨论】:

  • 用户输入一个文本,它必须检查每个CSV数据(这里是基于'name')。如果匹配,它应该显示它。

标签: javascript html csv


【解决方案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 并填充每一行。

【讨论】:

    猜你喜欢
    • 2015-08-08
    • 2020-11-01
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2012-11-06
    相关资源
    最近更新 更多