方案1 :限定大小

<html>
<head>
<script type="text/javascript">
  var isIE = /msie/i.test(navigator.userAgent) && !window.opera;       
  function fileChange(target) {   
    
    var fileSize = 0;        
    if (isIE && !target.files) {    
      var filePath = target.value;    
      var fileSystem = new ActiveXObject("Scripting.FileSystemObject");       
      var file = fileSystem.GetFile (filePath);    
      fileSize = file.Size;   
    } else {   
     fileSize = target.files[0].size;    
     }  
     var size = fileSize / 1024;   
     if(size>10000){
      alert("附件不能大于10M");
      
      
     }
     
}  
</script>
</head>
<body>
<input type="file" name="contractFileName"  style="width: 500px;" onchange="fileChange(this);"/>
</body>
</html>

方案2::限定大小

兼容ie6,ie7,ie8 ,Google Chrome,ff等浏览器,ie8上面在安全设置处设置一下就好了(工具 => Internet选项 => 安全 => Internet => 自定义级别    找到“将文件上载到服务器时包含本地目录路径”,设为“启用”即可)。

function fileChange(target) {   
        var fileSize = 0;        
        if (isIE && !target.files) {    
              var filePath = target.value;   
              var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
              
              if(!fileSystem.FileExists(filePath)){
                 alert("附件不存在,请重新输入!");
                 var file=document.getElementById(id);
                    file.outerHTML=file.outerHTML;
                    return;
              }
              var file = fileSystem.GetFile (filePath);
              fileSize = file.Size;   
        } else {   
               fileSize = target.files[0].size;
        }  
        
        var size = fileSize / 1024;   
        if(size>100000){
                alert("附件大小不能大于100M!");
                var file=document.getElementById(id);
                file.outerHTML=file.outerHTML
        }  
        if(size<=0){
            alert("附件大小不能为0M!");
            var file=document.getElementById(id);
                file.outerHTML=file.outerHTML
        }
     }


限定上传类型

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script type="text/javascript">
  var isIE = /msie/i.test(navigator.userAgent) && !window.opera;       
 function fileChange(target) {   
        if(!(/(?:jpg|gif|png|jpeg)$/i.test(target.value))) {
       
            alert(" 只允许上传jpg|gif|png|jpeg格式的图片");
        if(window.ActiveXObject) {//for IE
            target.select();//select the file ,and clear selection
            document.selection.clear();
        } else if(window.opera) {//for opera
            target.type="text";target.type="file";
        } else target.value="";//for FF,Chrome,Safari
            return;
        } else {
            return; //alert("ok");//or you can do nothing here.
        }
     
}  
</script>
</head>
<body>
    <input type="file" name="contractFileName" style="width: 500px;"
        onchange="fileChange(this);" />
</body>
</html>

js 限定上传文件大小 类型的更多相关文章

  1. 兼容各浏览器的js判断上传文件大小

    由于项目需要,在网上找了一个JS判断上传文件大小的程序,经测试兼容IE6-,Firefox10,Opera11.,safari5.,chrome17 <!DOCTYPE html> < ...

  2. js判断上传文件大小

    下面提供三款网页特效判断上传文件大小哦,这三种方法是现在限制文件上传大小比较好的方法,可以在客户上传文件时限制上传文件大小判断处理<!doctype html public "-//w ...

  3. js检测上传文件大小

    前言: 项目中经常用到需要上传文件.照片等功能,同时需要限制所上传文件的大小.很多插件都会采用后台请求验证,前端Js校验比较少.本篇介绍一个前端JS便捷判断上传文件大小的方法. 代码很简单,关键就是怎 ...

  4. 经典JS 判断上传文件大小和JS即时同步电脑时间

    我也是新手,还是一个JS笨,有一些网站要实现的功能要自己写么? 答案是不会,去问同事大佬吧,闲简单.就在晚上看了一些其他大佬们写的JS效果, 代码很少.占用网站CPU也小的多.可以一用, 废话少扯.代 ...

  5. JS判断上传文件类型

    /*   * 判断图片类型   */    function checkImgType(ths){        if (ths.value == "") {            ...

  6. js限制上传文件类型和大小

    <html> <head> <script type="text/javascript"> function fileChange(target ...

  7. jquery实现上传文件大小类型的验证

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  8. 前端js限制上传文件类型及大小(1)

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. JS 判断上传文件类型

    var video_src_file = $("#video_src_file").val(); var fileTypes = new Array("flv" ...

随机推荐

  1. 添加gif效果图

    1.贴加第三方包 http://blog.csdn.net/iamlazybone/article/details/5972234 2. <FrameLayout android:id=&quo ...

  2. jdom学习读取XML文件

    用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类.Element类等的方法读取所需的内容.IB ...

  3. 如何在Asp.Net WebApi接口中,验证请求参数中是否携带token标识!

    [BasicAuthentication] public abstract class ApiControllerBase : ApiController { #region Gloal Proper ...

  4. windows安装TortoiseGit详细使用教程【基础篇】

    标签:tortoisegit 环境:win8.1 64bit 安装准备: 首先你得安装windows下的git msysgit1.9.5 安装版本控制器客户端tortoisegit  tortoise ...

  5. [反汇编练习] 160个CrackMe之009

    [反汇编练习] 160个CrackMe之009. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  6. centos使用denyhosts的问题,会将自己的IP自动加到hosts.deny的解决办法。

    先吐槽, 很多网站\博客,技术文章也玩伪原创, 害人不浅. 全TMD是COPY, COPY, COPY过来. 拷过来就算了, 你TMD还改了其中的内容... 改成错的.然后众多网站转载, 将错进行到底 ...

  7. 使用ffmpeg向crtmpserver发布rtsp流

    ffmpeg的调用命令如下: ffmpeg -re -i xxx.mp4  -vcodec copy -acodec copy -f rtsp rtsp://127.0.0.1/live/mystre ...

  8. SpringMVC——hello SpringMVC

    概述: Spring的web框架围绕DispatcherServlet设计. DispatcherServlet的作用是将请求分发到不同的处理器. 与其它web MVC框架一样,Spring的web ...

  9. HTML5 随音乐节奏变化的频谱图动画

    这里将要介绍的HTML5 音频处理接口与Audio标签是不一样的.页面上的Audio标签只是HTML5更语义化的一个表现,而HTML5提供给JavaScript编程用的Audio API则让我们有能力 ...

  10. winform实现自动更新并动态调用form实现

    winform实现自动更新并动态调用form实现 标签: winform作业dllbytenull服务器 2008-08-04 17:36 1102人阅读 评论(0) 收藏 举报  分类: c#200 ...