js判断文件类型大小并给出提示的实现方法


Posted in Javascript onJanuary 03, 2018

上传文件是工作中常用的功能,不同的场景对不同的文件类型和文件大小都有不同的要求:

<form id="uploadForm" method="post" class="layui-form">
  <div class="layui-form-item">
  <label class="layui-form-label">名称</label>
  <div class="layui-input-block">
   <input type="text" name="name" required lay-verify="required"
   placeholder="请输入文件名" autocomplete="off" class="layui-input">
  </div>
  </div>
  <div class="layui-form-item">
  <label class="layui-form-label">资料类型:</label>
  <div class="layui-input-block">
   <select name="datatypeid" id="datatypeid"></select>
  </div>
  <input type="hidden" id="yincang">
  </div>
  <div class="layui-form-item">
  <label class="layui-form-label">上传文件</label>
  <div class="layui-input-block">
   <input class="layui-input" type="file" name="file" onchange="fileChange(this);"/>
  </div>
  </div>
  <div class="layui-form-item">
  <div class="layui-input-block">
   <input type="button" class="layui-btn" value="上传"
   onclick="upload()" />
  </div>
  </div>
 </form>

js方法:

<script type="text/javascript">
 var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
 function fileChange(target, id) {
  var fileSize = 0;
  var filetypes = [ ".doc", ".docx" ];//这里设置接受的文件类型
  var filepath = target.value;
  var filemaxsize = 1024 * 10;//接受的文件最大10M 
  if (filepath) {
  var isnext = false;
  var fileend = filepath.substring(filepath.indexOf("."));
  if (filetypes && filetypes.length > 0) {
   for (var i = 0; i < filetypes.length; i++) {
   if (filetypes[i] == fileend) {
    isnext = true;
    break;
   }
   }
  }
  if (!isnext) {
   alert("不接受此文件类型!");
   target.value = "";
   return false;
  }
  } else {
  return false;
  }
  if (isIE && !target.files) {
  var filePath = target.value;
  var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
  if (!fileSystem.FileExists(filePath)) {
   alert("附件不存在,请重新输入!");
   return false;
  }
  var file = fileSystem.GetFile(filePath);
  fileSize = file.Size;
  } else {
  fileSize = target.files[0].size;
  }
  var size = fileSize / 1024;
  if (size > filemaxsize) {
  alert("附件大小不能大于" + filemaxsize / 1024 + "M!");
  target.value = "";
  return false;
  }
  if (size <= 0) {
  alert("附件大小不能为0M!");
  target.value = "";
  return false;
  }
 }
 </script>

以上这篇js判断文件类型大小并给出提示的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
改进UCHOME的记录发布,增强可访问性用户体验
Jan 17 Javascript
读jQuery之八 包装事件对象
Jun 21 Javascript
Javascript 实现的数独解题算法网页实例
Oct 15 Javascript
动态显示可输入的字数提示还可以输入的字数
Apr 01 Javascript
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
Aug 28 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
Popup弹出框添加数据实现方法
Oct 27 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
Jul 22 Javascript
jQuery插件simplePagination的使用方法示例
Apr 28 jQuery
js登录滑动验证的实现(不滑动无法登陆)
Jan 03 #Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 #Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
Jan 03 #Javascript
angularjs实现分页和搜索功能
Jan 03 #Javascript
vue引入ueditor及node后台配置详解
Jan 03 #Javascript
Node.js搭建小程序后台服务
Jan 03 #Javascript
基于js文件加载优化(详解)
Jan 03 #Javascript
You might like
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
关于JavaScript中的关联数组分析
2013/04/09 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
原生javascript实现图片滚动、延时加载功能
2015/01/12 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
数组Array的排序sort方法
2017/02/17 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
Python调用C/C++动态链接库的方法详解
2014/07/22 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
2017/06/01 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
Python科学画图代码分享
2017/11/29 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
关于Java String的一道面试题
2013/09/29 面试题
数控专业毕业生自荐信范文
2014/03/04 职场文书
老师对学生的评语
2014/04/18 职场文书
小学语文教研活动总结
2014/07/01 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
财务工作检讨书
2014/10/29 职场文书
接待员岗位职责
2015/02/13 职场文书
创业计划书之寿司
2019/07/19 职场文书
导游词之桂林山水
2019/09/20 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js
mysql 子查询的使用
2022/04/28 MySQL