方案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. RecyclerView 结合 CardView 使用

    准备工作:导入 1.activity_mian.xml <android.support.v7.widget.RecyclerView android:id="@+id/recycle ...

  2. 物联网操作系统HelloX应用编程指南

    HelloX操作系统应用编程指南 HelloX应用开发概述 可以通过三种方式,在HelloX操作系统基础上开发应用: 1.        以内部命令方式实现应用,直接编译链接到HelloX的内核she ...

  3. shell中for循环总结

    关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿... 1. for((i=1;i<=10;i++));d ...

  4. Android精美的日历控件

    网上看到的精美日历控件,谨以此文记录一下,用到的时候再来翻翻 源码地址 : http://download.csdn.net/detail/abc13939746593/7265459

  5. LwIP源代码文件目录解析

    1 -- LwIP源代码文件目录 root@motadou:/home/motadou/lwip/lwip-1.4.1# tree . ├── CHANGELOG ├── COPYING ├── do ...

  6. c# 利用反射动态给实体类对象赋值

    转:http://blog.sina.com.cn/s/blog_659a572b0100xp5s.html 例子如下 using System; using System.Collections.G ...

  7. 底部菜单栏(一) TabHost实现

    需求:使用TabHost实现底部菜单栏: 效果图: 实现分析: 1.目录结构: 代码实现: 1.activity_main.xml <?xml version="1.0" e ...

  8. delphi 操作 word

        uses  ComObj,word2000   procedure TForm1.ExportWord(); var FWord :Variant; FDoc :Variant; i,Row: ...

  9. webdriver(python)学习笔记七——多层框架定位与智能等待

    多层框架或窗口定位: switch_to_frame() switch_to_window() 智能等待: implicitly_wait() 现在web应用中经常会遇到框架如(frame)或窗口(w ...

  10. linux常用命令之--文本编辑和文本内容查看命令

    linux的文本编辑和文本内容查看命令 1.文本编辑命令 vi:用于编辑文本文件,基本上可以分为三种模式,分别是一般模式.编辑模式.命令行模式. 一般模式:当编辑一个文件时,刚进入文件就是一般模式. ...