浅谈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中的循环优化
Nov 09 Javascript
js获取通过ajax返回的map型的JSONArray的方法
Jan 09 Javascript
分享几种比较简单实用的JavaScript tabel切换
Dec 31 Javascript
AngularJS入门教程之迭代器过滤详解
Aug 18 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
Jan 20 Javascript
JavaScript的数据类型转换原则(干货)
Mar 15 Javascript
vue使用技巧及vue项目中遇到的问题
Jun 04 Javascript
vue通过cookie获取用户登录信息的思路详解
Oct 30 Javascript
JavaScript解析JSON数据示例
Jul 16 Javascript
vue3.0 上手体验
Sep 21 Javascript
vue 获取url参数、get参数返回数组的操作
Nov 12 Javascript
详解Vue3使用axios的配置教程
Apr 29 Vue.js
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
用PHP4访问Oracle815
2006/10/09 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
jquery中的过滤操作详细解析
2013/12/02 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
escape函数解决js中ajax传递中文出现乱码问题
2014/10/30 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
Vue计算属性的使用
2017/08/04 Javascript
浅谈Node模块系统及其模式
2017/11/17 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
2017/11/27 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
python网络编程之读取网站根目录实例
2014/09/30 Python
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
python中defaultdict的用法详解
2017/06/07 Python
ipython和python区别详解
2019/06/26 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
社区党员先进事迹
2014/01/22 职场文书
行政工作个人的自我评价
2014/02/13 职场文书
有多年工作经验的自我评价
2014/03/02 职场文书
教师远程培训感言
2014/03/06 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫
JS class语法糖的深入剖析
2022/07/07 Javascript