使用JS验证文件类型

项目中涉及到这一需求,在此贴出代码分享给大家,

有2中方式,一种是input中使用accept 方式

一种是使用js正则表达式判断,个人推荐使用js正则表达式,因为accept 有的浏览器并不支持,而且accept并不是强制。

 

第一种

<input  type="file" name="file" id="ck_attach_path" style="width:98%;" accept=".xls,.doc,.txt,.pdf"  />

第二种

<input type="file" name="file"   id="ck_attach_path" id="file" style="width:98%;" onchange="CheckFile(this);" >
        //文件上传验证.
            function CheckFile(obj) { 
                  var array = new Array('txt', 'pdf', 'doc','docx','xls','xlsx','pptx'); //可以上传的文件类型 
                  if (obj.value == '') { 
                    alert("选择要上传的文件!"); 
                    return false; 
                  } 
                  else { 
                    var fileContentType = obj.value.match(/^(.*)(\.)(.{1,8})$/)[3]; 
                    var isExists = false; 
                    for (var i in array) { 
                      if (fileContentType.toLowerCase() == array[i].toLowerCase()) { 
                        isExists = true; 
                        return true; 
                      } 
                    } 
                    if (isExists == false) { 
                      obj.value = null; 
                      alert("上传文件类型不正确!"); 
                      return false; 
                    } 
                    return false; 
                  } 
                }

 

posted @ 2019-01-02 16:40  ypr-  阅读(4917)  评论(0编辑  收藏  举报