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("非图片文件");