js根據(jù)后綴判斷文件文件類型的代碼
核心代碼
<script>
function getFileType(fileName) {
// 后綴獲取
let suffix = '';
// 獲取類型結(jié)果
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'];
// 進(jìn)行圖片匹配
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("jb51.jpg"));
</script>
在chrome中F12測試發(fā)現(xiàn)

符合我們的要求。
上面的代碼主要用到了js(=>) 箭頭函數(shù)
ES6標(biāo)準(zhǔn)新增了一種新的函數(shù):Arrow Function(箭頭函數(shù))。
為什么叫Arrow Function?因?yàn)樗亩x用的就是一個(gè)箭頭:
x => x * x
上面的箭頭函數(shù)相當(dāng)于:
function (x) {
return x * x;
}
箭頭函數(shù)相當(dāng)于匿名函數(shù),并且簡化了函數(shù)定義。箭頭函數(shù)有兩種格式,一種像上面的,只包含一個(gè)表達(dá)式,連{ ... }和return都省略掉了。還有一種可以包含多條語句,這時(shí)候就不能省略{ ... }和return:
=>是es6語法中的arrow function
(x) => x + 6
相當(dāng)于
function(x){
return x + 6;
};
以上就是js根據(jù)后綴判斷文件文件類型的代碼的詳細(xì)內(nèi)容,更多關(guān)于js后綴的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JS路由跳轉(zhuǎn)的簡單實(shí)現(xiàn)代碼
本文給大家分享一個(gè)簡單的js路由跳轉(zhuǎn)功能,非常不錯(cuò),需要的朋友參考下吧2017-09-09
微信小程序?qū)崿F(xiàn)天氣預(yù)報(bào)功能(附源碼)
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)天氣預(yù)報(bào)功能(附源碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
原生JS實(shí)現(xiàn)逼真的圖片3D旋轉(zhuǎn)效果詳解
這篇文章主要介紹了原生JS實(shí)現(xiàn)逼真的圖片3D旋轉(zhuǎn)效果,結(jié)合實(shí)例形式詳細(xì)分析了javascript實(shí)現(xiàn)圖片3D旋轉(zhuǎn)相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-02-02
JS實(shí)現(xiàn)簡單的星期格式轉(zhuǎn)換功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)簡單的星期格式轉(zhuǎn)換功能,涉及JavaScript基于Date()對(duì)象的日期時(shí)間操作技巧,需要的朋友可以參考下2018-07-07
showModalDialog模態(tài)對(duì)話框的使用詳解以及瀏覽器兼容
showModalDialog是jswindow對(duì)象的一個(gè)方法,和window.open一樣都是打開一個(gè)新的頁面。區(qū)別是:showModalDialog打開子窗口后,父窗口就不能獲取焦點(diǎn)了(也就是無法操作了)2014-01-01
微信小程序日期增加時(shí)間完成訂單失效倒計(jì)時(shí)效果
這篇文章主要介紹了微信小程序日期增加時(shí)間完成訂單失效倒計(jì)時(shí)效果,在我們?nèi)粘Y徫镞^程中經(jīng)常會(huì)遇到這樣的功能,本文通過示例代碼給大家詳細(xì)講解,需要的朋友參考下吧2024-04-04

