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