對于一個帶絕對路徑的文件名如:D:/Program Files/Notepad++/Notepad++.exe
首先為了避免轉義反斜杠出問題,可以用正則表達式來將/或//替換成#,如:
D:#Program Files#Notepad++#Notepad++.exe
之后以‘#'為分隔符,將字符串分解成數組,得到如下數組:
D: ProgramFiles Notepad++ Notepad++.exe
取數組的最后一個即為帶后綴的文件名:Notepad++.exe
再以‘.'為分隔符,將這個帶后綴的文件名分解成數組,得到如下數組:
Notepad++ exe
然后再取數組的最后一個就可以得到文件的后綴名exe了
代碼如下(Win7+IE9測試通過):
復制代碼 代碼如下:
//by 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];
}
//by 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" />
function Test()
{
var filePath="D://Program Files//Notepad++//Notepad++.exe";
alert(GetExtensionFileName(filePath));
}
<input type="button" value="Test" />
新聞熱點
疑難解答
圖片精選