如何通过JavaScript简单获取文件的后缀名?

更新于
2026-08-02 03:47:28
18阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计478个文字,预计阅读时间需要2分钟。

如何通过JavaScript简单获取文件的后缀名?

在传输文件时,经常需要判断文件的类型即其后缀名。使用JavaScript可以轻松实现这一点。解析带有绝对路径的文件名并获取后缀名的方法有很多种。以下列举几种:

1. 使用字符串方法:javascriptfunction getFileExtension(filename) { return filename.slice((filename.lastIndexOf(.) - 1 >>> 0) + 2);}

2. 使用正则表达式:javascriptfunction getFileExtension(filename) { var matches=filename.match(/[^.]+(?=\..*|$)/); return matches ? matches[0] : '';}

3. 使用内置函数:javascriptfunction getFileExtension(filename) { return filename.split('.').pop();}

在上传文件时,常常要对文件的类型即对文件的后缀名进行判断,用javascript可以很容易的做到这一点。用Javascript解析一个带绝对路径的文件名并得到后缀名的方法有很多种,这里列出一种,以供参考。

对于一个带绝对路径的文件名如: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 (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按钮就可以弹出内容为exe的对话框,表示GetExtensionFileName能正确解析带绝对路径的文件名并得到后缀名。

估计这种方法只能在Windows平台下使用吧,在Linux执行下不知道会如何?

到此这篇关于浅谈javascript如何获取文件后缀名的文章就介绍到这了,更多相关javascript获取文件后缀名内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何通过JavaScript简单获取文件的后缀名?

本文共计478个文字,预计阅读时间需要2分钟。

如何通过JavaScript简单获取文件的后缀名?

在传输文件时,经常需要判断文件的类型即其后缀名。使用JavaScript可以轻松实现这一点。解析带有绝对路径的文件名并获取后缀名的方法有很多种。以下列举几种:

1. 使用字符串方法:javascriptfunction getFileExtension(filename) { return filename.slice((filename.lastIndexOf(.) - 1 >>> 0) + 2);}

2. 使用正则表达式:javascriptfunction getFileExtension(filename) { var matches=filename.match(/[^.]+(?=\..*|$)/); return matches ? matches[0] : '';}

3. 使用内置函数:javascriptfunction getFileExtension(filename) { return filename.split('.').pop();}

在上传文件时,常常要对文件的类型即对文件的后缀名进行判断,用javascript可以很容易的做到这一点。用Javascript解析一个带绝对路径的文件名并得到后缀名的方法有很多种,这里列出一种,以供参考。

对于一个带绝对路径的文件名如: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 (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按钮就可以弹出内容为exe的对话框,表示GetExtensionFileName能正确解析带绝对路径的文件名并得到后缀名。

估计这种方法只能在Windows平台下使用吧,在Linux执行下不知道会如何?

到此这篇关于浅谈javascript如何获取文件后缀名的文章就介绍到这了,更多相关javascript获取文件后缀名内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何通过JavaScript简单获取文件的后缀名?