javascript 得到文件后綴名的思路及實現(xiàn)
對于一個帶絕對路徑的文件名如: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 (//m.dhdzp.com/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 (//m.dhdzp.com/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];
}
測試代碼:
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()" />
點擊Test按鈕就可以彈出內(nèi)容為exe的對話框,表示GetExtensionFileName能正確解析帶絕對路徑的文件名并得到后綴名。
估計這種方法只能在Windows平臺下使用吧,在Linux執(zhí)行下不知道會如何?
相關(guān)文章
JS編寫函數(shù)實現(xiàn)對身份證號碼最后一位的驗證功能
二代身份證號碼為18位,怎么編寫函數(shù)實現(xiàn)對身份證號碼最后一位的驗證功能呢?今天小編通過代碼給大家分享下實現(xiàn)方法2016-12-12
詳解JavaScript數(shù)組和字符串中去除重復(fù)值的方法
這篇文章主要介紹了詳解JavaScript數(shù)組和字符串中去除重復(fù)值的方法,及利用各種限制條件對數(shù)組和字符串進行過濾,需要的朋友可以參考下2016-03-03
JS Html轉(zhuǎn)義和反轉(zhuǎn)義(html編碼和解碼)的實現(xiàn)與使用方法總結(jié)
這篇文章主要介紹了JS Html轉(zhuǎn)義和反轉(zhuǎn)義(html編碼和解碼)的實現(xiàn)與使用方法,結(jié)合實例形式總結(jié)分析了JS Html轉(zhuǎn)義和反轉(zhuǎn)義、html編碼和解碼相關(guān)封裝類定義與具體使用技巧,需要的朋友可以參考下2020-03-03

