淺談javascript如何獲取文件后綴名
在上傳文件時,常常要對文件的類型即對文件的后綴名進行判斷,用javascript可以很容易的做到這一點。用Javascript解析一個帶絕對路徑的文件名并得到后綴名的方法有很多種,這里列出一種,以供參考。
對于一個帶絕對路徑的文件名如:D:\Program Files\Notepad++\Notepad++.exe
首先為了避免轉(zhuǎn)義反斜杠出問題,可以用正則表達式來將\或\\替換成#,如:
D:#Program Files#Notepad++#Notepad++.exe
之后以‘#'為分隔符,將字符串分解成數(shù)組,得到如下數(shù)組:
D: ProgramFiles Notepad++ Notepad++.exe
取數(shù)組的最后一個即為帶后綴的文件名:Notepad++.exe
再以‘.'為分隔符,將這個帶后綴的文件名分解成數(shù)組,得到如下數(shù)組:
Notepad++ exe
然后再取數(shù)組的最后一個就可以得到文件的后綴名exe了
代碼如下(Win7+IE9測試通過):
//by MoreWindows (http://blog.csdn.net/MoreWindows) function GetExtensionFileName(pathfilename) { var reg = /(\\+)/g; var pfn = pathfilename.replace(reg, "#"); var arrpfn = pfn.split("#"); var fn = arrpfn[arrpfn.length - 1]; var arrfn = fn.split("."); return arrfn[arrfn.length - 1]; }
測試代碼:
function Test() { var filePath="D:\\Program Files\\Notepad++\\Notepad++.exe"; alert(GetExtensionFileName(filePath)); } <input type="button" value="Test" οnclick="Test()" />
點擊Test按鈕就可以彈出內(nèi)容為exe的對話框,表示GetExtensionFileName能正確解析帶絕對路徑的文件名并得到后綴名。
估計這種方法只能在Windows平臺下使用吧,在Linux執(zhí)行下不知道會如何?
到此這篇關(guān)于淺談javascript如何獲取文件后綴名的文章就介紹到這了,更多相關(guān)javascript獲取文件后綴名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解JavaScript節(jié)流函數(shù)中的Throttle
函數(shù)節(jié)流,就是對會頻繁觸發(fā)的函數(shù)事件做一些限制,讓這些函數(shù)可以在每隔一定的時間或者每次滿足一定的條件下再觸發(fā)。一般我們會給他起一個名字throttle。也就是節(jié)流的意思。一般這樣的函數(shù)有 resize事件、ontouchmove事件等。2016-07-07JavaScript判斷空值、NULL、undefined的方法對比
JavaScript五種原始類型(boolean、number、string、null、undefined)中的一種。在鑒別JavaScript原始類型的時候我們會用到typeof操作符。Typeof操作符可用于字符串、數(shù)字、布爾和未定義類型。2022-12-12微信小程序input、textarea層級過高穿透的問題解決
微信小程序原生組件camera、canvas、input、live-player、live、pusher、map、textarea、video的層級是最高的,那么如何解決微信小程序input、textarea層級過高穿透,本文就詳細的介紹一下2021-11-11比較詳細的關(guān)于javascript中void(0)的具體含義解釋
比較詳細的關(guān)于javascript中void(0)的具體含義解釋...2007-08-08實用Javascript調(diào)試技巧分享(小結(jié))
這篇文章主要介紹了實用Javascript調(diào)試技巧分享(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06