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 过滤not()与filter()实例代码
May 10 Javascript
javascript动画浅析
Aug 30 Javascript
JS中 用户登录系统的解决办法
Apr 15 Javascript
JQuery实现表格中相同单元格合并示例代码
Jun 26 Javascript
JavaScript中对循环语句的优化技巧深入探讨
Jun 06 Javascript
node.js中的fs.fchmodSync方法使用说明
Dec 16 Javascript
jQuery实现平滑滚动到指定锚点的方法
Mar 20 Javascript
Node.js的Express框架使用上手指南
Mar 12 Javascript
有关文件上传 非ajax提交 得到后台数据问题
Oct 12 Javascript
js实现带进度条提示的多视频上传功能
Dec 13 Javascript
Vue表情输入组件 微信face表情组件
Feb 11 Javascript
JavaScript迭代器的含义及用法
Jun 21 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
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
php两种无限分类方法实例
2015/04/21 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
jquery ui bootstrap 实现自定义风格
2014/11/14 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
js实现html table 行,列锁定的简单实例
2016/10/13 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
2016/12/14 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
Javascript的this详解
2019/03/23 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
Python实现比较两个列表(list)范围
2015/06/12 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
matplotlib实现区域颜色填充
2019/03/18 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
Python数据正态性检验实现过程
2020/04/18 Python
Python 字符串池化的前提
2020/07/03 Python
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
印度在线杂货店:bigbasket
2018/08/23 全球购物
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
初中军训感想300字
2014/03/05 职场文书
如何写好竞聘报告
2019/04/03 职场文书
导游词之无锡梅园
2019/11/28 职场文书