if语句中的条件(javascript)

时间:2017-05-05 03:59:23

标签: javascript arrays if-statement conditional-statements

如何检测文件的类型,无论文件是pdf还是jpg?我尝试下面的声明,但它只检测.jpg文件。

if (file[i] == 'pdf'||file[i] == 'jpg')  {
    //
}

3 个答案:

答案 0 :(得分:2)

您可以使用

获取文件扩展名
var extn = file[i].split('.').pop();

并检查您的条件是否为PDF,JPG或任何其他扩展名。

希望这有帮助!

答案 1 :(得分:2)

如果我们将文件名作为文件,

string[] substrings = file.split('.');
var extension = substrings[1];
var pdf = 'pdf';
var jpg = 'jpg';
if((extension == pdf )|| (extension == jpg)){
(condition)
}

答案 2 :(得分:1)

您还没有指定这些文件名的来源,因此有几种可能的情况。

如果您指的是超链接,并且您只想对指向.pdf.jpg文件的链接执行某些操作,则不需要查看所有链接和测试.pdf个文件或.jpg个文件,您只能扫描.pdf.jpg个文件,如下所示:



var files = document.querySelectorAll("a[href$='.pdf'], a[href$='.jpg']");
console.log("There are " + files.length  + " .pdf and/or .jpg links.");
Array.prototype.slice.call(files).forEach(function(file){
  console.log(file.getAttribute("href"));
});

<a href="someImage.jpg">Click</a>
<a href="someImage.gif">Click</a>
<a href="someFile.pdf">Click</a>
<a href="somefile2.pdf">Click</a>
<a href="someImage.png">Click</a>
&#13;
&#13;
&#13;

如果您有一组文件名,则可以获得.pdf.jpg这样的名称:

&#13;
&#13;
var files = [ "file1.png", "file2.jpg", "file3.pdf", "file4.JPG", "file5.gif" ];

var matchedFiles = files.filter(function(file){
  var ext = file.substr(file.length - 4, file.length);
  if(ext.toLowerCase() === ".pdf" || ext.toLowerCase() === ".jpg"){
    return file;
  }
});

console.log(matchedFiles);
&#13;
&#13;
&#13;