浅谈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 相关文章推荐
一个对于Array的简单扩展
Oct 03 Javascript
关于IE7 IE8弹出窗口顶上
Dec 22 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
Feb 16 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
动态载入js提高网页打开速度的方法
Jul 04 Javascript
JS闭包与延迟求值用法示例
Dec 22 Javascript
requirejs + vue 项目搭建详解
Jun 16 Javascript
原生js封装的ajax方法示例
Aug 02 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
Vue移动端实现图片上传及超过1M压缩上传
Dec 23 Javascript
Vue中key的作用示例代码详解
Jun 10 Javascript
Openlayers显示瓦片网格信息的方法
Sep 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
php array_intersect()函数使用代码
2009/01/14 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
PHP使用递归生成文章树
2015/04/21 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
python在命令行下使用google翻译(带语音)
2014/01/16 Python
python3 与python2 异常处理的区别与联系
2016/06/19 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
Python for i in range ()用法详解
2020/09/18 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
Python 存取npy格式数据实例
2020/07/01 Python
python switch 实现多分支选择功能
2020/12/21 Python
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
师范生教师实习自我鉴定
2013/09/27 职场文书
秋季运动会活动方案
2014/02/05 职场文书
5s标语大全
2014/06/23 职场文书
竞聘自述材料
2014/08/25 职场文书
学生安全责任协议书
2016/03/22 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android