JS限制上传文件类型和大小

<html>   
<head>   
    
<script type= "text/javascript" >   
    
function  fileChange(target){  
//检测上传文件的类型 
var  imgName = document.all.up_file.value;
    var  ext,idx;   
   if  (imgName ==  '' ){  
     document.all.submit_upload.disabled= true
     alert( "请选择需要上传的文件!" );  
     return
   else  {   
     idx = imgName.lastIndexOf( "." );   
     if  (idx != -1){   
       ext = imgName.substr(idx+1).toUpperCase();   
       ext = ext.toLowerCase( ); 
       // alert("ext="+ext);
       if  (ext !=  'jpg'  && ext !=  'png'  && ext !=  'jpeg'  && ext !=  'gif' ){
        document.all.submit_upload.disabled= true ;   
         alert( "只能上传.jpg  .png  .jpeg  .gif类型的文件!" ); 
         return ;  
       }   
     else  {  
      document.all.submit_upload.disabled= true
       alert( "只能上传.jpg  .png  .jpeg  .gif类型的文件!" ); 
       return ;
     }   
   }
       
   //检测上传文件的大小     
   var  isIE = /msie/i.test(navigator.userAgent) && !window.opera;  
   var  fileSize = 0;       
   if  (isIE && !target.files){     
     var  filePath = target.value;     
     //如果javascript脚本中报这个错误是因为IE的安全设置不允许运行未标记为安全的activeX控件 更改IE的安全设置,把相应的选项打开即可。
     var  fileSystem =  new  ActiveXObject( "Scripting.FileSystemObject" );      
     var  file = fileSystem.GetFile (filePath);     
     fileSize = file.Size;    
   else  {    
     fileSize = target.files[0].size;     
   }    
    
   var  size = fileSize / 1024*1024;   
    
   if (size>(1024*200)){   
   document.all.submit_upload.disabled= true ;
     alert( "文件大小不能超过200KB" );   
   } else {
   document.all.submit_upload.disabled= false ;
   }   
}    
</script>   
</head>   
<body>   
<input type= "file"  id= "up_file"  name= "up_file"  onchange= "fileChange(this);"  />           
<input id= "submit_upload"  type= "submit"  class= "load-btn"  value= "上传"  disabled />   
</body>   
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值