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 解疑
Nov 11 Javascript
关于query Javascript CSS Selector engine
Apr 12 Javascript
jquery移动listbox的值原理及代码
May 03 Javascript
js判断浏览器类型的方法
Aug 07 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
Mar 20 Javascript
javascript的BOM汇总
Jul 16 Javascript
JavaScript模仿Pinterest实现图片预加载功能
Oct 25 Javascript
详解react-native-fs插件的使用以及遇到的坑
Sep 12 Javascript
详解用Node.js实现Restful风格webservice
Sep 29 Javascript
JavaScript的setter与getter方法
Nov 29 Javascript
Node解决简单重复问题系列之Excel内容的获取
Jan 02 Javascript
Node.js使用MySQL连接池的方法实例
Feb 11 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 魔术函数使用说明
2010/05/14 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
Laravel统一错误处理为JSON的方法介绍
2020/10/18 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
JS实现标签滚动切换效果
2017/12/25 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
Python可跨平台实现获取按键的方法
2015/03/05 Python
详解Python编程中包的概念与管理
2015/10/16 Python
Python对象转JSON字符串的方法
2016/04/27 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python操作csv文件实例详解
2017/07/31 Python
用python写扫雷游戏实例代码分享
2018/05/27 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
市场营销策划方案
2014/06/11 职场文书
应用外语系自荐信
2014/06/26 职场文书
供电工程专业求职信
2014/08/09 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
公司管理建议书
2015/09/14 职场文书
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android