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 相关文章推荐
基于jquery的可多选的下拉列表框
Jul 20 Javascript
js实现广告漂浮效果的小例子
Jul 02 Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 Javascript
jQuery结合HTML5制作的爱心树表白动画
Feb 01 Javascript
jQuery 如何给Carousel插件添加新的功能
Apr 18 Javascript
jQuery实现文字自动横移
Jan 08 Javascript
jQuery 判断元素整理汇总
Feb 28 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
Nov 20 Javascript
vue 循环加载数据并获取第一条记录的方法
Sep 26 Javascript
React降级配置及Ant Design配置详解
Dec 27 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
javascript 易错知识点实例小结
Apr 25 Javascript
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
轻松入门: 煮好咖啡的七个诀窍
2021/03/03 冲泡冲煮
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
js实现时间日期校验
2020/05/26 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
Python提取频域特征知识点浅析
2019/03/04 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
pandas按条件筛选数据的实现
2021/02/20 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
应聘编辑职位自荐信范文
2014/01/05 职场文书
文明宿舍获奖感言
2014/02/07 职场文书
汽车维修工岗位职责
2014/02/12 职场文书
烹饪自我鉴定
2014/03/01 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
导游词之安徽巢湖
2019/12/26 职场文书
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers