JavaScript根据文件名判断文件类型
//JavaScript根据文件名判断文件类型 var imgExt = new Array(".png",".jpg",".jpeg",".bmp",".gif");//图片文件的后缀名 var docExt = new Array(".doc",".docx");//word文件的后缀名 var xlsExt = new Array(".xls",".xlsx");//excel文件的后缀名 var cssExt = new Array(".css");//css文件的后缀名 var jsExt = new Array(".js");//js文件的后缀名 //获取文件名后缀名 String.prototype.extension = function(){ var ext = null; var name = this.toLowerCase(); var i = name.lastIndexOf("."); if(i > -1){ var ext = name.substring(i); } return ext; } //判断Array中是否包含某个值 Array.prototype.contain = function(obj){ for(var i=0; i<this.length; i++){ if(this[i] === obj) return true; } return false; }; function typeMatch(type, fielname){ var ext = filename.extension(); if(type.contain(ext)){ return true; } return false; }
引用上述代码后,如果要判断文件filename是否是图片文件,只需如下:
if(typeMatch(imgExt, filename)){ alert("是图片文件"); } else{ alert("不是图片文件"); }
如果需要判断其它文件类型,可以在最前面添加后缀面的数组,类似于imgExt,然后使用上面的方法来判断。
另外一种写法:
//JavaScript根据文件名判断文件类型 var imgExt = new Array(".png",".jpg",".jpeg",".bmp",".gif");//图片文件的后缀名 var docExt = new Array(".doc",".docx");//word文件的后缀名 var xlsExt = new Array(".xls",".xlsx");//excel文件的后缀名 var cssExt = new Array(".css");//css文件的后缀名 var jsExt = new Array(".js");//js文件的后缀名 //获取文件名后缀名 String.prototype.extension = function(){ var ext = null; var name = this.toLowerCase(); var i = name.lastIndexOf("."); if(i > -1){ var ext = name.substring(i); } return ext; } //判断Array中是否包含某个值 Array.prototype.contain = function(obj){ for(var i=0; i<this.length; i++){ if(this[i] === obj) return true; } return false; }; String.prototype.extMatch = function(extType){ if(extType.contain(this.extension())) return true; else return false; } //判断是否图片文件 var filename = "dfsd.png";//文件名 if(filename.extMatch(imgExt)) alert("图片文件"); else alert("非图片文件");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下