js或jquery file.type.match仅适用于jpg和png

时间:2013-01-15 19:55:39

标签: javascript jquery mime-types

如何使用file.type.match

仅限制png和jpg的mimetype

下面是我的代码

var fileInput = document.getElementById("myfileinput").files[0];

if (fileInput.type.match('image/jpeg'))  
      //I not thinking to use if(xx || xx)
      //prefer using var mimeType = jpg,png  many tries but not work
{
alert("Right");
}else{
alert("wrong");
}

2 个答案:

答案 0 :(得分:7)

从您的问题来看,听起来您不想做类似的事情:

if (fileInput.type.match('image/jpeg') || fileInput.type.match('image/png'))  
  //I not thinking to use if(xx || xx)
  //prefer using var mimeType = jpg,png  many tries but not work
{
  alert("Right");
}else{
  alert("wrong");
}

你可以创建一个可接受的扩展数组并循环遍历它们:

var fileInput = document.getElementById("myfileinput").files[0];
var allowed = ["jpeg", "png"];
var found = false;

allowed.forEach(function(extension) {
  if (fileInput.type.match('image/'+extension)) {
    found = true;
  }
})

if(found) {
  alert("Right");
}
else{
  alert("wrong");
}

请参阅此fiddle进行测试。

答案 1 :(得分:0)

也可以使用|作为OR运算符在一行中完成:

if (fileInput.type.match('image/jpeg|image/png')) {...}