浅谈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 相关文章推荐
DHTML Slide Show script图片轮换
Mar 03 Javascript
javascript innerHTML使用分析
Dec 03 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
Jul 12 Javascript
javascript基本类型详解
Nov 28 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
Oct 20 Javascript
基于滚动条位置判断的简单实例
Dec 14 Javascript
浅谈vue项目重构技术要点和总结
Jan 23 Javascript
JS实现区分中英文并统计字符个数的方法示例
Jun 09 Javascript
解决bootstrap模态框数据缓存的问题方法
Aug 10 Javascript
vue解决一个方法同时发送多个请求的问题
Sep 25 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
vue+element加入签名效果(移动端可用)
Jun 17 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遍历数组的方法汇总分析
2013/06/08 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
2014/08/20 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
JS数组的常见用法实例
2015/02/10 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
2017/04/25 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
Android面试题及答案
2015/09/04 面试题
心理健康心得体会
2014/01/02 职场文书
学校元旦晚会方案
2014/02/19 职场文书
主管会计岗位职责
2014/03/13 职场文书
聚美优品励志广告词
2014/03/14 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
门面租赁合同范文
2019/08/06 职场文书
防止web项目中的SQL注入
2021/12/06 MySQL
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫