浅谈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类型转换方法及需要注意的问题小结(挺全面)
Nov 11 Javascript
Jquery 表格合并的问题分享
Sep 17 Javascript
javascript实现十秒钟后注册按钮可点击的方法
May 13 Javascript
JavaScript小技巧整理
Dec 30 Javascript
总结JavaScript三种数据存储方式之间的区别
May 03 Javascript
BootStrap组件之进度条的基本用法
Jan 19 Javascript
JS获取短信验证码倒计时的实现代码
May 22 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
Nov 26 Javascript
vue input输入框模糊查询的示例代码
May 22 Javascript
基于JS实现带动画效果的流程进度条
Jun 01 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
Jun 04 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
Sep 21 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合并js请求的例子
2013/11/01 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
&amp;lt;script defer&amp;gt; defer 是什么意思
2009/05/10 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
2013/04/26 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
Python生成器以及应用实例解析
2018/02/08 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
工商企业管理实习自我鉴定
2013/12/04 职场文书
结婚典礼证婚词
2014/01/08 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
班级体育活动总结
2014/07/05 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
Python中os模块的简单使用及重命名操作
2021/04/17 Python
springBoot基于webSocket实现扫码登录
2021/06/22 Java/Android
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python