2011-02-12 88 views
0

我有一個表單,管理員可以定義允許的文件擴展名。我爲文件擴展名提供了一個文本框,其中管理員可以編寫擴展名,逗號分隔爲多個。現在我想知道如何驗證用戶輸入包含doc,docx,jpg,mp3,wmv等所有有效的擴展名。如何驗證用戶輸入文件擴展名

我使用jQuery和C#中的一個Asp.Net MVC應用程序

+0

你意識到文件名約定只是約定,不同的客戶端平臺可能有不同的約定,對嗎?文件類型檢查確實需要在服務器上使用內容嗅探器來完成;除非實際檢查其中的字節,否則永遠不會知道文件是否正常。 – Pointy 2011-02-12 15:57:31

回答

1

綁定一個事件,您的文件要素變更事件,並從中讀取的文件名,以驗證它是你允許的類型之一。

例如:

$("#yourFileElementId").change(function(ev){ 
     var filename = $(this).val(); 
     if(/(\.doc$)|(\.docx$)|(\.jpg$)|(\.mp3$)|(\.wmv$)/.match(filename)){ 
      // filename has one of the extensions 
     } else { 
      alert("only specified file types are allowed"); 
      $(this).val(""); //This should empty the file input. 
     } 
} 

希望幫助!

+0

我想你很想理解我的問題。文件擴展名不是文本框中的固定用戶輸入文件擴展名。 – 2011-02-12 08:45:55