浅谈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 相关文章推荐
jQuery.ajax 用户登录验证代码
Oct 29 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
Sep 05 Javascript
jQuery右键菜单contextMenu使用实例
Sep 28 Javascript
第三章之Bootstrap 表格与按钮功能
Apr 25 Javascript
JavaScript原生对象常用方法总结(推荐)
May 13 Javascript
详解微信小程序开发之下拉刷新 上拉加载
Nov 24 Javascript
Angularjs 实现动态添加控件功能
May 25 Javascript
利用node.js如何创建子进程详解
Dec 09 Javascript
vue小白入门教程
Apr 02 Javascript
jQuery实现的两种简单弹窗效果示例
Apr 18 jQuery
vue 双向数据绑定的实现学习之监听器的实现方法
Nov 30 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
Aug 22 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
PHP生成RSS文件类实例
2014/12/05 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
HTML页面,测试JS对C函数的调用简单实例
2016/08/09 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
深入理解vue-router之keep-alive
2017/08/31 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
koa-router源码学习小结
2018/09/07 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
Vue 实现显示/隐藏层的思路(加全局点击事件)
2019/12/31 Javascript
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
node.js获取参数的常用方法(总结)
2017/05/29 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
送给程序员的20个Java集合面试问题
2014/08/06 面试题
公司董事长职责
2013/12/12 职场文书
教师职称自我鉴定
2014/02/12 职场文书
法律顾问服务方案
2014/05/15 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
质监局领导班子践行群众路线整改方案
2014/10/26 职场文书
政协常委会议主持词
2015/07/03 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书