2013-12-19 83 views
-1

我們正在致力於電子郵件加密服務。在這裏,我已經設計了一個HTML頁面,在這裏我已經上傳一個文件的一些推廣.CRT提供的區域(用戶註冊),.CER.der使用Javascript驗證文件

這是HTML內容:

<section> 
    <label class="label">PubLic Key File</label> 
<div> 
    <input type="file" id="fileInput"> 
</div> 
    <div id="fileDisplayArea"></div> 
</section> 
<button type="submit" class="button">Submit</button> 

JavaScript代碼:

window.onload = function() { 

    var fileInput = document.getElementById('fileInput'); 
    var fileDisplayArea = document.getElementById('fileDisplayArea'); 


    fileInput.addEventListener('change', function(e) { 
     var file = fileInput.files[0]; 
     var imageType = /image.*/ 

     if (file.type.match(imageType)) { 
      var reader = new FileReader(); 

      reader.onload = function(e) { 
       fileDisplayArea.innerHTML = ""; 

       var img = new Image(); 
       img.src = reader.result; 

       fileDisplayArea.appendChild(img); 
      } 

      reader.readAsDataURL(file); 
     } else { 
      fileDisplayArea.innerHTML = "File not supported!"; 
     } 
    }); 

} 

我抄這個JavaScript代碼(在JavaScript初學者)。它只接受圖像文件。我想更改此代碼,只接受.crt,.cer.der延伸。

謝謝:)

+0

請參見:如何獲取文件上傳輸入所選文件的列表:http://stackoverflow.com/questions/13007528/how-to-get-a-list-of-files-selected-by-an- a-file-upload-input –

+0

是不是你所需要的? http://stackoverflow.com/questions/651700/how-to-have-jquery-restrict-file-types-on-upload – tire0011

+0

@Diodeus 鏈接ü發佈: 它像文件[I]。名稱是循環迭代的文件的名稱。這我明白了。 –

回答

0

您當前的正則表達式實際上將匹配包含單詞「圖像」

如果(即「圖像」後跟零個或多個字符的文件名的任何部分)的任何文件名要匹配,在「.CRT」,「.CER」或「.der」結尾的文件名,你可以使用這個表達式:

var imageType = /\.crt|cer|der$/ 

可以使用測試正則表達式Rubular