浅谈javascript如何获取文件后缀名


Posted in Javascript onAugust 07, 2020

在上传文件时,常常要对文件的类型即对文件的后缀名进行判断,用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 (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];
}

测试代码:

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 相关文章推荐
JavaScript 学习笔记之操作符(续)
Jan 14 Javascript
js实现照片墙功能实例
Feb 05 Javascript
高效Web开发的10个jQuery代码片段
Jul 22 Javascript
微信小程序 自定义对话框实例详解
Jan 20 Javascript
React组件生命周期详解
Jul 03 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
Aug 31 Javascript
vue实现点击选中,其他的不选中方法
Sep 05 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
Sep 18 Javascript
发布订阅模式在vue中的实际运用实例详解
Jun 09 Javascript
微信小程序wx.request的简单封装
Nov 13 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
Jun 25 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
Nov 06 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 #Javascript
基于javascript的无缝滚动动画实现2
Aug 07 #Javascript
vue 在methods中调用mounted的实现操作
Aug 07 #Javascript
javascript实现图片轮换动作方法
Aug 07 #Javascript
vue style width a href动态拼接问题的解决
Aug 07 #Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
Aug 07 #Javascript
JavaScript实现与web通信的方法详解
Aug 07 #Javascript
You might like
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
基于PHP Socket配置以及实例的详细介绍
2013/06/13 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP 实现重载
2021/03/09 PHP
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
2016/08/11 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
nodejs和react实现即时通讯简易聊天室功能
2019/08/21 NodeJs
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python发送邮件接收邮件示例分享
2014/01/21 Python
深入理解Python中的元类(metaclass)
2015/02/14 Python
Python实例一个类背后发生了什么
2016/02/09 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Python列表元素常见操作简单示例
2019/10/25 Python
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
招聘与培训专员岗位职责
2014/01/30 职场文书
学校消防演习方案
2014/02/19 职场文书
优秀学生评语大全
2014/04/25 职场文书
信访维稳工作汇报
2014/10/27 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers