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 24 Javascript
JavaScript 输入框内容格式验证代码
Feb 11 Javascript
jQuery Tools tab使用介绍
Jul 14 Javascript
javascript 获取元素样式必杀技
May 04 Javascript
javascript的函数作用域
Nov 12 Javascript
JavaScript Math.round() 方法
Dec 18 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
Aug 24 Javascript
React通过父组件传递类名给子组件的实现方法
Nov 13 Javascript
使用JavaScript中的lodash编写双色球效果
Jun 24 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
Oct 20 Javascript
详解Vue中的watch和computed
Nov 09 Javascript
vue中 this.$set的使用详解
Nov 17 Vue.js
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 获取可变函数参数的函数
2009/08/26 PHP
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
2010/08/01 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
Underscore源码分析
2015/12/30 Javascript
Jquery操作cookie记住用户名
2016/03/29 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
python读写ini文件示例(python读写文件)
2014/03/25 Python
python遍历数组的方法小结
2015/04/30 Python
详细解读Python中的__init__()方法
2015/05/02 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
安全事故检讨书
2014/01/18 职场文书
婚前协议书标准版
2014/10/19 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
Java基础——Map集合
2022/04/01 Java/Android
vue中data里面的数据相互使用方式
2022/06/05 Vue.js