浅谈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 面向对象编程 聊聊对象的事
Sep 17 Javascript
基于jquery的图片轮播 tab切换组件
Jul 19 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
Sep 09 Javascript
Javascript 读取操作Sql中的Xml字段
Oct 09 Javascript
jQuery中change事件用法实例
Dec 26 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
Bootstrap 实现查询的完美方法
Oct 26 Javascript
微信小程序 详解页面跳转与返回并回传数据
Feb 13 Javascript
基于JavaScript实现百度搜索框效果
Jun 28 Javascript
简述JS控制台的使用
Jul 15 Javascript
JS学习笔记之数组去重实现方法小结
May 29 Javascript
vue实现tab栏点击高亮效果
Aug 19 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脚本
2006/11/26 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
js setattribute批量设置css样式
2009/11/26 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
JavaScript创建一个object对象并操作对象属性的用法
2015/03/23 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
使用Math.max,Math.min获取数组中的最值实例
2017/04/25 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
Vue环境搭建+VSCode+Win10的详细教程
2020/08/19 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
详解Python自建logging模块
2018/01/29 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
大学生求职简历的自我评价
2013/10/14 职场文书
竞选部长演讲稿
2014/04/26 职场文书
美国留学经济担保书
2014/05/20 职场文书
企业年度评优方案
2014/06/02 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
认错检讨书
2014/10/02 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python
python函数的两种嵌套方法使用
2022/04/02 Python