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实现复制功能各浏览器支持情况实测
Jul 18 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
Dec 31 Javascript
vue.js中$watch的用法示例
Oct 04 Javascript
深入理解jquery中extend的实现
Dec 22 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
Dec 24 Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 Javascript
jQuery实现Select下拉列表进行状态选择功能
Mar 30 jQuery
Vue.js移动端左滑删除组件的实现代码
Sep 08 Javascript
vue使用vue-i18n实现国际化的实现代码
Apr 08 Javascript
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
vue通过v-html指令渲染的富文本无法修改样式的解决方案
May 20 Javascript
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
让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 substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
php array的学习笔记
2012/05/16 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
php递归创建目录的方法
2015/02/02 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
2019/09/26 PHP
php7下的filesize函数
2019/09/30 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
详解JavaScript的变量
2019/04/04 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
Python序列之list和tuple常用方法以及注意事项
2015/01/09 Python
对python中的高效迭代器函数详解
2018/10/18 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
Python通过Tesseract库实现文字识别
2020/03/05 Python
新手学python应该下哪个版本
2020/06/11 Python
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
应届生英语教师求职信
2013/11/05 职场文书
车间主管岗位职责
2013/11/14 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
初中生期末评语大全
2014/04/24 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
建筑技术负责人岗位职责
2015/04/13 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
员工试用期工作总结
2019/06/20 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
python​格式化字符串
2022/04/20 Python