js判断输入文件格式遇到的问题

问题

我做了一个判断输入文件格式的程序,若输入不是指定的文件类型则提示输入格式错误。
但是无论输入什么,都会提示输入格式错误,这是为什么?

相关代码
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>JSoft Mpeg Worker</title>
  
  <style>
    
  </style>
  <script src="js/jquery.min.js"></script>

</head>
<body>
    <div class="main">
        <div>
            <strong>输入文件路径:</strong><input id="infiles" type="text" placeholder="多个文件名用';'隔开">
            <button onclick="judgeFile()">OK</button><br>
            <small id="elog" style="color:red"></small>
        </div><br>
        
        
        <h3>编辑选项</h3>
        
        
    </div>
</body>    
  <script>
        function fileType(filePath,arr){
        //判断类型
            //获取最后一个.的位置 
            var index= String(filePath).lastIndexOf("."); //获取后缀 
            var ext = String(filePath).substr(index+1);
            if(arr.indexOf(ext.toLowerCase()) == -1){ 
            return false; 
            } 
            return true;
        }
        //允许的格式
        var videoFormats=['mp4','mpg','ts','avi','wav','wmv','flv','asf','rmvb','m3u8','h263','h264','h265','dv','zlib','zmbv'];
        var audioFormats=['mp3','mp2','aac','ac3','wma','flac','dk3','dk4','mace','fla'];
        var imageFormats=['pgm','ppm','png','jpg','jpeg','gif','giff','tif','tiff','wmf','emf','bmp','sgi'];
        var srtFormats=['srt'];
        
        var filearr=[];
        function judgeFile(){
            var files=document.getElementById("infiles").value;
            if((typeof files)=="undefined"||files==""){alert("请输入文件!");return;}

            //charge files to array
            var j=0;
            for(var i=0;i==files.length;i++){
                
                if(files[i]==';'){
                    j++;
                }else if(filearr[j]==""||filearr[j]==0){
                    filearr[j]=="";
                }else{
                    filearr[j]+=files[i];
                }
            }
            //judge type
            
            for (var i=0;i==filearr.length;i++){
                if(!(fileType(filearr[i],videoFormats)||
                fileType(filearr[i],audioFormats)||
                fileType(filearr[i],imageFormats)||
                fileType(filearr[i],srtFormats))){
                    alert("输入格式错误!");
                }
            }
            
        }
 
  </script>
</html>    
运行结果及报错内容

img

这是为什么?求指教!

i==files.length;
改为:
i<files.length;

下面同理

img

参考:

beforeAvatarUpload(file) {
      const isImg = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif'].indexOf(file.type)
      const imgSize = file.size / 1024 / 1024 < 10
      if (isImg === -1) {
        this.$message.error('文件格式只能为jpg或png')
        return false
      }
      if (!imgSize) {
        this.$message.error('文件大小不能超过10M')
        return false
      }
      return isImg && imgSize
    }

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632