2015-05-18 57 views
2

我已經通過javascript將CSV文件上傳到HTML頁面。 CSV行是:nameemail-address,例如, rambo,[email protected]使用javascript搜索並與CSV文件值進行匹配

如何到搜索這些加載的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]); 

    } 
    } 
} 
+0

用戶輸入一個文本,它必須檢查每個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並填寫它每一行。