浅谈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 判断某个属性是否存在hasAttr的解决方法
Apr 26 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
微信小程序实现实时圆形进度条的方法示例
Feb 24 Javascript
AngularJS中的路由使用及实现代码
Oct 09 Javascript
javascript中new Array()和var arr=[]用法区别
Dec 01 Javascript
Angular实现的table表格排序功能完整示例
Dec 22 Javascript
jquery.pagination.js分页使用教程
Oct 23 jQuery
angular使用md5,CryptoJS des加密的方法
Jun 03 Javascript
vue实现鼠标经过动画
Oct 16 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
Aug 11 Javascript
Flexible.js可伸缩布局实现方法详解
Nov 13 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
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
javascript学习网址备忘
2007/05/29 Javascript
javascript replace方法与正则表达式
2008/02/19 Javascript
js停止输出代码
2008/07/20 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
jQuery+正则+文本框只能输入数字的实现方法
2016/10/07 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
express express-session的使用小结
2018/12/12 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
Python中处理时间的几种方法小结
2015/04/09 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
解析Python3中的Import
2019/10/13 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
计算机求职信
2013/12/01 职场文书
手机业务员岗位职责
2013/12/13 职场文书
电工技术比武方案
2014/05/11 职场文书
电气自动化求职信
2014/06/24 职场文书
一份恶作剧的检讨书
2014/09/13 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
Python激活Anaconda环境变量的详细步骤
2021/06/08 Python
欧元符号 €
2022/02/17 杂记
node快速搭建后台的实现步骤
2022/02/18 NodeJs