如何使用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");
}
答案 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')) {...}