zoukankan      html  css  js  c++  java
  • js检验文件格式

     HTML:
       <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 = [  ".xlsx", ".xls" ];//这里设置接受的文件类型
            var filepath = target.value;
            var filemaxsize = 1024 * 1;//接受的文件最大1M
            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) {
                    alertx("不接受此文件类型!");
                    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)) {
                    alertx("附件不存在,请重新输入!");
                    return false;
                }
                var file = fileSystem.GetFile(filePath);
                fileSize = file.Size;
            } else {
                fileSize = target.files[0].size;
            }
    
            var size = fileSize / 1024;
            if (size > filemaxsize) {
                alertx("附件大小不能大于" + filemaxsize / 1024 + "M!");
                target.value = "";
                return false;
            }
            if (size <= 0) {
                alertx("附件大小不能为0M!");
                target.value = "";
                return false;
            }
        }
    </script>
  • 相关阅读:
    虚拟目录
    【C/C++学习】之十四、RTTI
    【C/C++学习】之十五、内存管理
    【C/C++学习】之十六、关于空指针NULL、野指针、通用指针
    统计在线人数
    [置顶] 分步实现具有分页功能的自定义DataList控件【附源代码】
    进制转换
    栈和队列2 数据结构和算法24
    二进制跟十六进制
    进制转换
  • 原文地址:https://www.cnblogs.com/zhaojiu/p/14636925.html
Copyright © 2011-2022 走看看