浅谈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 相关文章推荐
js 禁用浏览器的后退功能的简单方法
Dec 10 Javascript
JavaScript 定义function的三种方式小结
Oct 16 Javascript
JavaScript学习笔记之基础语法
Jan 22 Javascript
javascript弹出页面回传值的方法
Jan 28 Javascript
简单纯js实现点击切换TAB标签实例
Aug 23 Javascript
深入分析Javascript事件代理
Jan 30 Javascript
解析AngularJS中get请求URL出现的跨域问题
Dec 01 Javascript
jQuery中get方法用法分析
Dec 07 Javascript
Require.JS中的几种define定义方式示例
Jun 01 Javascript
微信小程序左右滑动的实现代码
Dec 15 Javascript
vue2.0 如何在hash模式下实现微信分享
Jan 22 Javascript
使用JavaScript计算前一天和后一天的思路详解
Dec 20 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实现上传图片保存到数据库的方法
2015/02/11 PHP
PHP贪婪算法解决0-1背包问题实例分析
2015/03/23 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
php对象工厂类完整示例
2018/08/09 PHP
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
判断JS对象是否拥有某种属性的两种方式
2013/12/02 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
python怎么判断素数
2020/07/01 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
python re模块和正则表达式
2021/03/24 Python
儿科主治医生个人求职信
2013/09/23 职场文书
通信研究生自荐信
2014/02/01 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
读书活动实施方案
2014/03/10 职场文书
公司总经理岗位职责
2014/03/15 职场文书
接收函格式
2015/01/30 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
新学期感想
2015/08/10 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书