js如何匹配特定字符串的大小写

现在需要获取文件类型,给你相应的文件加上icon
然后文件类型是文档的后缀,是这样取的
图片描述

然后判断,获取图片路径是这样

图片描述

最后一个是判断都不存在就用“未知.icon”,这么写感觉low了,求高端玩法

阅读 3.7k
5 个回答
const format = (/\.(\S+)$/.exec(res) || [,''])[1].toLowerCase()

const iconMap = {
  _default: 'war_icon.png',
  doc: 'word.png',
  docx: 'word.png',
  pdf: 'pdf_icon.png',
  rar: 'rar_icon.png',
  tif: 'tif_icon.png',
  xls: 'xls_icon.png',
  xlsx: 'xls_icon.png',
  zip: 'rar_icon.png',
}

const cache = require(`../assets/inmages/FileTypeIcon/${iconMap[format] || iconMap._default}`)
var cache = ''
if (/^docx?$/i.test(format)) {

} else if (/^pdf$/i.test(format)) {

} else if (/^(zip|rar)$/i.test(format)) {
  
} else if (/^xlsx?$/i.test(format)) {
  
} else if (/^tif$/i.test(format)) {
  
} else {
  
}
var cache = require('../assets/inmages/FileTypeIcon/'+(
    ['doc','DOC','docx','DOCX'].includes(format)?"word"
    :['pdf','PDF'].includes(format)?"pdf_icon"
    :['zip','ZIP','rar'].includes(format)?"rar_icon"
    :['xls','XLS','xlsx','XLSX'].includes(format)?"xls_icon"
    :['tif','TIF'].includes(format)?"tif_icon":"war_icon"
)+'.png')
function docType(str){
    let cache = '';
    str = str.toLowerCase();
    switch(str){
        case 'doc':
        case 'docx:
            cache =  '../assets/images/filetypeIcon/word.png'
            break;
        case 'pdf':
            cache =  '../assets/images/filetypeIcon/pdf_icon.png'
            break;
          ....
          defalut:
          cache = '../assets/images/filetypeIcon/war_icon.png';
    };
    return cache;
}

其实转换一个思路去问,结果马上就可以找到,这个就是提取文档扩展名的问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题