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 相关文章推荐
Open and Print a Word Document
Jun 15 Javascript
js控制frameSet示例
Sep 10 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
May 16 Javascript
jQuery插件Validation快速完成表单验证的方式
Jul 28 Javascript
分享一个原生的JavaScript拖动方法
Sep 25 Javascript
微信小程序 教程之wxapp视图容器 swiper
Oct 19 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
node.js实现复制文本到剪切板的功能
Jan 23 Javascript
老生常谈js中的MVC
Jul 25 Javascript
vue中v-model动态生成的实例详解
Oct 27 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
Apr 13 Javascript
vue 使用rules对表单字段进行校验的步骤
Dec 25 Vue.js
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中的观察者模式
2010/03/24 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
2016/11/22 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
[02:43]中国五虎出征TI3视频
2013/08/02 DOTA
python 3.0 模拟用户登录功能并实现三次错误锁定
2017/11/01 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
使用Anaconda3建立虚拟独立的python2.7环境方法
2018/06/11 Python
带你认识Django
2019/01/15 Python
详解Python中的分支和循环结构
2020/02/11 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
python代码区分大小写吗
2020/06/17 Python
用CSS3将你的设计带入下个高度
2009/08/08 HTML / CSS
设计师珠宝:Ylang 23
2018/05/11 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
企业安全隐患排查治理制度
2015/08/05 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android