浅谈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.Encode手动解码技巧
Jul 14 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
Apr 27 Javascript
jQuery+css+html实现页面遮罩弹出框
Mar 21 Javascript
提升PHP安全:8个必须修改的PHP默认配置
Nov 17 Javascript
jquery+javascript编写国籍控件
Feb 12 Javascript
JS实现不规则TAB选项卡效果代码
Sep 16 Javascript
微信小程序 火车票查询实例讲解
Oct 17 Javascript
bootstrapValidator自定验证方法写法
Dec 01 Javascript
jquery实现图片放大点击切换
Jun 06 jQuery
javascript高级模块化require.js的具体使用方法
Oct 31 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
Jul 31 Javascript
jQuery操作元素的内容和样式完整实例分析
Jan 10 jQuery
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
杏林同学录(七)
2006/10/09 PHP
PHP simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
php session 写入数据库
2016/02/13 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
基于NodeJS的前后端分离的思考与实践(四)安全问题解决方案
2014/09/26 NodeJs
Javascript表单验证要注意的事项
2014/09/29 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
vue webpack打包优化操作技巧
2018/02/22 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
python关闭windows进程的方法
2015/04/18 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
Python 的AES加密与解密实现
2019/07/09 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
管理信息系学生的自我评价
2014/01/11 职场文书
班级标语大全
2014/06/21 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
维稳承诺书
2015/01/20 职场文书
个人工作决心书
2015/09/22 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书
导游词之云南丽江古城
2019/09/17 职场文书