javascript 得到文件后缀名的思路及实现


Posted in Javascript onMay 09, 2020

对于一个带绝对路径的文件名如: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 (//3water.com/qq) 
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]; 
} 
//by MoreWindows (//3water.com/qq)
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" onclick="Test()" /> 
function Test()
{
 var filePath="D:\\Program Files\\Notepad++\\Notepad++.exe";
 alert(GetExtensionFileName(filePath));
}
<input type="button" value="Test" onclick="Test()" />

点击Test按钮就可以弹出内容为exe的对话框,表示GetExtensionFileName能正确解析带绝对路径的文件名并得到后缀名。
估计这种方法只能在Windows平台下使用吧,在Linux执行下不知道会如何?

Javascript 相关文章推荐
javascript Discuz代码中的msn聊天小功能
May 25 Javascript
jquery live()重复绑定的解决方法介绍
Jan 03 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
Jan 14 Javascript
jQuery实现验证年龄简单思路
Feb 24 Javascript
JS+Canvas 实现下雨下雪效果
May 18 Javascript
AngularJS入门教程之Select(选择框)详解
Jul 27 Javascript
Vue的百度地图插件尝试使用
Sep 06 Javascript
在vue项目中使用Nprogress.js进度条的方法
Jan 31 Javascript
Vue.js实现开发购物车功能的方法详解
Feb 22 Javascript
vue列表单项展开收缩功能之this.$refs的详解
May 05 Javascript
微信小程序如何刷新当前界面的实现方法
Jun 07 Javascript
微信小程序返回上一级页面的实现代码
Jun 19 Javascript
让js弹出窗口居前显示的实现方法
Jul 10 #Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
Jul 10 #Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
Jul 10 #Javascript
JavaScript 模拟类机制及私有变量的方法及思路
Jul 10 #Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
Jul 10 #Javascript
javascript 手动给表增加数据的小例子
Jul 10 #Javascript
基于javascript 闭包基础分享
Jul 10 #Javascript
You might like
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
YII实现分页的方法
2014/07/09 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
一个基于jQuery的树型插件(OrangeTree)使用介绍
2012/05/03 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
python代码制作configure文件示例
2014/07/28 Python
Python实现堆排序的方法详解
2016/05/03 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
linux环境下Django的安装配置详解
2019/07/22 Python
Django框架模板用法入门教程
2019/11/04 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
Python ini文件常用操作方法解析
2020/04/26 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
2021/01/29 Python
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
三维科技面试题
2013/07/27 面试题
应届生求职信写作技巧
2013/10/24 职场文书
机械绘图员岗位职责
2013/11/19 职场文书
高中运动会广播稿
2014/01/21 职场文书
手机银行营销方案
2014/03/14 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript