浅谈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 相关文章推荐
Mootools 1.2教程 Fx.Tween的使用
Sep 15 Javascript
JavaScript 事件的一些重要说明
Oct 25 Javascript
解决jquery .ajax 在IE下卡死问题的解决方法
Oct 26 Javascript
JavaScript 空位补零实现代码
Feb 26 Javascript
js实现网页自动刷新可制作节日倒计时效果
May 27 Javascript
jQuery对象的length属性用法实例
Dec 27 Javascript
利用原生JS自动生成文章标题树的实例
Aug 22 Javascript
require.js中的define函数详解
Jul 10 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
May 02 Javascript
你或许不知道的一些npm实用技巧
Jul 04 Javascript
Node 模块原理与用法详解
May 13 Javascript
JavaScript控制台的更多功能
Apr 28 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
建立动态的WML站点(二)
2006/10/09 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
js中取得变量绝对值的方法
2015/01/03 Javascript
Javascript基础教程之变量
2015/01/18 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
Python查看多台服务器进程的脚本分享
2014/06/11 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
Python3 log10()函数简单用法
2019/02/19 Python
详解django2中关于时间处理策略
2019/03/06 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Java多线程实现四种方式原理详解
2020/06/02 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
python 批量将中文名转换为拼音
2021/02/07 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
如何高效率的查找一个月以内的数据
2012/04/15 面试题
公司年会抽奖活动主持词
2014/03/31 职场文书
小学生手册家长评语
2014/04/16 职场文书
校长新学期致辞
2015/07/30 职场文书