javascript 得到文件后綴名的思路及實(shí)現(xiàn)
對(duì)于一個(gè)帶絕對(duì)路徑的文件名如:D:\Program Files\Notepad++\Notepad++.exe
首先為了避免轉(zhuǎn)義反斜杠出問(wèn)題,可以用正則表達(dá)式來(lái)將\或\\替換成#,如:
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è)試通過(guò)):
//by MoreWindows (//www.fzitv.net/qq)
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];
}
//by MoreWindows (//www.fzitv.net/qq)
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" onclick="Test()" />
function Test()
{
var filePath="D:\\Program Files\\Notepad++\\Notepad++.exe";
alert(GetExtensionFileName(filePath));
}
<input type="button" value="Test" onclick="Test()" />
點(diǎn)擊Test按鈕就可以彈出內(nèi)容為exe的對(duì)話框,表示GetExtensionFileName能正確解析帶絕對(duì)路徑的文件名并得到后綴名。
估計(jì)這種方法只能在Windows平臺(tái)下使用吧,在Linux執(zhí)行下不知道會(huì)如何?
相關(guān)文章
js實(shí)現(xiàn)5秒倒計(jì)時(shí)重新發(fā)送短信功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)5秒倒計(jì)時(shí)重新發(fā)送短信功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
H5移動(dòng)端圖片壓縮上傳開(kāi)發(fā)流程
這篇文章主要為大家詳細(xì)介紹了H5移動(dòng)端圖片壓縮上傳開(kāi)發(fā)流程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
JS編寫(xiě)函數(shù)實(shí)現(xiàn)對(duì)身份證號(hào)碼最后一位的驗(yàn)證功能
二代身份證號(hào)碼為18位,怎么編寫(xiě)函數(shù)實(shí)現(xiàn)對(duì)身份證號(hào)碼最后一位的驗(yàn)證功能呢?今天小編通過(guò)代碼給大家分享下實(shí)現(xiàn)方法2016-12-12
Ajax異步提交表單數(shù)據(jù)的說(shuō)明及方法實(shí)例
Ajax異步提交表單數(shù)據(jù)的說(shuō)明及方法實(shí)例,需要的朋友可以參考一下2013-06-06
詳解JavaScript數(shù)組和字符串中去除重復(fù)值的方法
這篇文章主要介紹了詳解JavaScript數(shù)組和字符串中去除重復(fù)值的方法,及利用各種限制條件對(duì)數(shù)組和字符串進(jìn)行過(guò)濾,需要的朋友可以參考下2016-03-03
JS Html轉(zhuǎn)義和反轉(zhuǎn)義(html編碼和解碼)的實(shí)現(xiàn)與使用方法總結(jié)
這篇文章主要介紹了JS Html轉(zhuǎn)義和反轉(zhuǎn)義(html編碼和解碼)的實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式總結(jié)分析了JS Html轉(zhuǎn)義和反轉(zhuǎn)義、html編碼和解碼相關(guān)封裝類(lèi)定義與具體使用技巧,需要的朋友可以參考下2020-03-03
簡(jiǎn)單聊聊JavaScript中的事件循環(huán)
js的事件循環(huán)(event-loop)是我們前端學(xué)習(xí)中非常重要的一部分,也是面試中經(jīng)常被問(wèn)到的點(diǎn),這篇文章我們就來(lái)給大家著重講解一下吧2023-02-02

