js根据后缀判断文件文件类型的代码


Posted in Javascript onMay 09, 2020

核心代码

<script>
function getFileType(fileName) {
  // 后缀获取
  let suffix = '';
  // 获取类型结果
  let result = '';
  try {
   const flieArr = fileName.split('.');
   suffix = flieArr[flieArr.length - 1];
  } catch (err) {
   suffix = '';
  }
  // fileName无后缀返回 false
  if (!suffix) { return false; }
  suffix = suffix.toLocaleLowerCase();
  // 图片格式
  const imglist = ['png', 'jpg', 'jpeg', 'bmp', 'gif'];
  // 进行图片匹配
  result = imglist.find(item => item === suffix);
  if (result) {
   return 'image';
  }
  // 匹配txt
  const txtlist = ['txt'];
  result = txtlist.find(item => item === suffix);
  if (result) {
   return 'txt';
  }
  // 匹配 excel
  const excelist = ['xls', 'xlsx'];
  result = excelist.find(item => item === suffix);
  if (result) {
   return 'excel';
  }
  // 匹配 word
  const wordlist = ['doc', 'docx'];
  result = wordlist.find(item => item === suffix);
  if (result) {
   return 'word';
  }
  // 匹配 pdf
  const pdflist = ['pdf'];
  result = pdflist.find(item => item === suffix);
  if (result) {
   return 'pdf';
  }
  // 匹配 ppt
  const pptlist = ['ppt', 'pptx'];
  result = pptlist.find(item => item === suffix);
  if (result) {
   return 'ppt';
  }
  // 匹配 视频
  const videolist = ['mp4', 'm2v', 'mkv', 'rmvb', 'wmv', 'avi', 'flv', 'mov', 'm4v'];
  result = videolist.find(item => item === suffix);
  if (result) {
   return 'video';
  }
  // 匹配 音频
  const radiolist = ['mp3', 'wav', 'wmv'];
  result = radiolist.find(item => item === suffix);
  if (result) {
   return 'radio';
  }
  // 其他 文件类型
  return 'other';
 }
console.log(getFileType("3water.jpg"));
</script>

在chrome中F12测试发现

js根据后缀判断文件文件类型的代码

符合我们的要求。

上面的代码主要用到了js(=>) 箭头函数

ES6标准新增了一种新的函数:Arrow Function(箭头函数)。

为什么叫Arrow Function?因为它的定义用的就是一个箭头:

x => x * x

上面的箭头函数相当于:

function (x) {
return x * x;
}

箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }和return都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }和return:

=>是es6语法中的arrow function

(x) => x + 6

相当于

function(x){
return x + 6;
};

以上就是js根据后缀判断文件文件类型的代码的详细内容,更多关于js后缀的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
javascript动画效果类封装代码
Aug 28 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
Mar 05 Javascript
js函数定时器实现定时读取系统实时连接数
Apr 30 Javascript
JavaScript获取某年某月的最后一天附截图
Jun 23 Javascript
JavaScript实现生成GUID(全局统一标识符)
Sep 05 Javascript
JQuery实现动态添加删除评论的方法
May 18 Javascript
JavaScript接口的实现三种方式(推荐)
Jun 14 Javascript
jQuery EasyUI常用数据验证汇总
Sep 18 Javascript
js实现悬浮窗效果(支持拖动)
Mar 09 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
Nov 28 Javascript
react实现换肤功能的示例代码
Aug 14 Javascript
js 闭包深入理解与实例分析
Mar 19 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
May 09 #Javascript
JS原形与原型链深入详解
May 09 #Javascript
JavaScript中的this妙用实例分析
May 09 #Javascript
JavaScript中继承原理与用法实例入门
May 09 #Javascript
jQuery三组基本动画与自定义动画操作实例总结
May 09 #jQuery
JavaScript进阶(四)原型与原型链用法实例分析
May 09 #Javascript
JavaScript进阶(三)闭包原理与用法详解
May 09 #Javascript
You might like
深入解析php模板技术原理【一】
2008/01/10 PHP
简化php模板页面中分页代码的解析
2009/02/06 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
2014/08/21 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
php限制ip地址范围的方法
2015/03/31 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
Python中如何引入第三方模块
2020/05/27 Python
Python几种常见算法汇总
2020/06/02 Python
Python程序慢的重要原因
2020/09/04 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
GMP办公室主任岗位职责
2014/03/14 职场文书
租车协议书范本
2014/04/22 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python