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 相关文章推荐
超级强大的表单验证
Jun 26 Javascript
javascript实现的DES加密示例
Oct 30 Javascript
javascript验证上传文件的类型限制必须为某些格式
Nov 14 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
Dec 16 Javascript
纯JS实现根据CSS的class选择DOM
Mar 22 Javascript
js 与 php 通过json数据进行通讯示例
Mar 26 Javascript
网页右下角弹出窗体实现代码
Jun 05 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
Aug 21 Javascript
谈谈JavaScript数组常用方法总结
Jan 24 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
Feb 24 Javascript
JavaScript之json_动力节点Java学院整理
Jun 29 Javascript
微信小程序开发之转发分享功能
Oct 22 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
php实现telnet功能示例
2014/04/08 PHP
浅谈php冒泡排序
2014/12/30 PHP
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
AngularJS转换响应内容
2016/01/27 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
JS原生数据双向绑定实现代码
2017/08/14 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
Django model反向关联名称的方法
2018/12/15 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
智能室内花园:Click & Grow
2021/01/29 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
人力资源专业推荐信
2013/11/29 职场文书
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
我未来的职业规划范文
2014/01/11 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
开展警示教育活动总结
2015/05/09 职场文书
民事起诉书范本
2015/05/19 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL
Anaconda配置各版本Pytorch的实现
2021/08/07 Python
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android