熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

javascript 得到文件後綴名的思路及實現

2013-11-15 11:58:36  來源: JSP教程 
在上傳文件時常常要對文件的類型即對文件的後綴名進行判斷用javascript可以很容易的做到這一點用Javascript解析一個帶絕對路徑的文件名並得到後綴名的方法有很多種這裡列出一種以供參考  

  對於一個帶絕對路徑的文件名如D:Program FilesNotepad++Notepad++exe
首先為了避免轉義反斜槓出問題可以用正則表達式來將或替換成#
D:#Program Files#Notepad++#Notepad++exe
之後以‘#為分隔符將字符串分解成數組得到如下數組
D:  ProgramFiles  Notepad++  Notepad++exe
取數組的最後一個即為帶後綴的文件名Notepad++exe
再以‘為分隔符將這個帶後綴的文件名分解成數組得到如下數組
Notepad++  exe
然後再取數組的最後一個就可以得到文件的後綴名exe了
代碼如下(Win+IE測試通過)

復制代碼 代碼如下:
//by MoreWindows
function GetExtensionFileName(pathfilename)
{
    var reg = /(+)/g;
    var pfn = pathfilenamereplace(reg "#");
    var arrpfn = pfnsplit("#");
    var fn = arrpfn[arrpfnlength ];
    var arrfn = fnsplit("");
    return arrfn[arrfnlength ];
}
//by MoreWindows
function GetExtensionFileName(pathfilename)
{
 var reg = /(+)/g;
 var pfn = pathfilenamereplace(reg "#");
 var arrpfn = pfnsplit("#");
 var fn = arrpfn[arrpfnlength ];
 var arrfn = fnsplit("");
 return arrfn[arrfnlength ];
}

  
測試代碼

復制代碼 代碼如下:
function Test()
{
    var filePath="D:Program FilesNotepad++Notepad++exe";
    alert(GetExtensionFileName(filePath));
}
<input type="button" value="Test" onclick="Test()" />
function Test()
{
 var filePath="D:Program FilesNotepad++Notepad++exe";
 alert(GetExtensionFileName(filePath));
}
<input type="button" value="Test" onclick="Test()" />

  
點擊Test按鈕就可以彈出內容為exe的對話框表示GetExtensionFileName能正確解析帶絕對路徑的文件名並得到後綴名
估計這種方法只能在Windows平台下使用吧在Linux執行下不知道會如何?


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20013.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.