`
Josh_Persistence
  • 浏览: 1633342 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

JavaScript判断上传文件的类型是否合法

阅读更多

方法一、简单直接

function Check_FileType(str) {

 

    var pos = str.lastIndexOf(".");

 

    var lastname = str.substring(pos,str.length)  //此处文件后缀名也可用数组方式获得str.split(".")

 

    if (lastname.toLowerCase()!=".jpg" && lastname.toLowerCase()!=".gif") {

 

     alert("您上传的文件类型为"+lastname+",图片必须为.jpg,.gif类型");

 

     document.myform.pic.focus();

 

     return false;

 

    } else {

 

        return true;

 

    }

 

}

 

方法二:利用JavaScript中的数组

 

function lastname() {

    // 获取欲上传的文件路径

    var filepath = document.getElementById("file").value; 

    

    // 为了避免转义反斜杠出问题,这里将对其进行转换

    var re = /(\\+)/g;  

    var filename = filepath.replace(re,"#"); 

 

    // 对路径字符串进行剪切截取

   var fileArray = filename.split("#"); 

 

   // 获取数组中最后一个,即文件名

   var fileName = fileArray[fileArray.length-1]; 

   

   // 再对文件名进行截取,以取得后缀名

   var suffixName = fileName.split("."); 

 

   // 获取截取的最后一个字符串,即为后缀名

   var last = suffixName[suffixName.length-1];

   

   // 添加需要判断的后缀名类型

   var tp ="jpg,gif,bmp,JPG,GIF,BMP"; 

 

   // 返回符合条件的后缀名在字符串中的位置

   var rs = tp.indexOf(last); 

 

   // 如果返回的结果大于或等于0,说明包含允许上传的文件类型

   if (rs>=0) {

    return true;

   } else {

      alert("您选择的上传文件不是有效的图片文件!");

      return false;

   }

}

1
4
分享到:
评论
4 楼 rainsilence 2013-06-17  
Josh_Persistence 写道
rainsilence 写道
javascript做不了这个。用文件名来判断是没有意义的。因为1。文件名可以修改,2。ie8下取文件名是取不到的。

你的博客内容太多,不知道是哪篇。另外我已经测试过了,IE8我上面的方法是work的。


1。ie8里面有个设置。可以将你的输入路径变掉http://yunzhu.iteye.com/blog/1116893
2。js验证有个最大的问题,一般水平的人都是可以绕过js直接提交。你js验证不就没用了?

另外,我的blog总共3页,你只要再翻两页就可以看到。但是,如果你连这个耐心也没有,我劝你还是放弃技术吧。
3 楼 Josh_Persistence 2013-06-17  
rainsilence 写道
javascript做不了这个。用文件名来判断是没有意义的。因为1。文件名可以修改,2。ie8下取文件名是取不到的。

你的博客内容太多,不知道是哪篇。另外我已经测试过了,IE8我上面的方法是work的。
2 楼 rainsilence 2013-06-17  
我的blog里写的清清楚楚
1 楼 Josh_Persistence 2013-06-17  
rainsilence 写道
javascript做不了这个。用文件名来判断是没有意义的。因为1。文件名可以修改,2。ie8下取文件名是取不到的。

那你有更好的方法吗?不用文件名来判断后缀,用什么来判断后缀呢?

相关推荐

    js判断上传文件后缀名是否合法

    主要介绍了js判断上传文件后缀名是否合法的具体方法,以一个完整实例分析了javascript判断上传文件后缀名是否合法的方法,感兴趣的小伙伴们可以参考一下

    JS限制上传图片大小不使用控件在本地实现

    文件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件。使用JS可以轻松解决词问题,js在上传图片前判断大小 这个可以用javascript实现,效果…//...

    JS上传图片前的限制包括(jpg jpg gif及大小高宽)等

    件上传之前的检测,通常是通过文件名来判断文件类型是否合法,但是要想检测文件的大小很难办到,除非在本地或者使用控件。使用JS可以轻松解决词问题,js在上传图片前判断大小 这个可以用javascript实现,效果

    js实现浏览本地文件并显示扩展名的方法

    可以用在文件上传系统上,用来判断上传的文件类型是否是合法类型,不是则不允许上传。再看看代码,不足10行,解决问题,正在学习javaScript的朋友,你也可参考参考哦。 运行效果截图如下: 在线演示地址如下: ...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    27. 上传文件对话框 28. 分页测试 29. 下载文件 30. 简单汉字判断 31. 将JSP的变量或者bean传递给JAVASCRIPT使用? 32. 把一种格式(如yyyy-mm-dd)的日期变量转换成另外一种格式(如dd-mm-yyyy)的日期变量! 33. ...

    PHP程序开发范例宝典III

    实例136 通过SESSION判断用户的权限 201 实例137 通过SESSION禁止页面刷新 203 实例138 通过SESSION存储数据 204 实例139 通过SESSION实现购物车的功能 205 5.6 框架的应用 209 实例140 框架在聊天室中的...

    jsp编程技巧集锦

    上传文件对话框 28. 分页测试 29. 下载文件 30. 简单汉字判断 31. 将JSP的变量或者bean传递给JAVASCRIPT使用? 32. 把一种格式(如yyyy-mm-dd)的日期变量转换成另外一种格式(如dd-mm-yyyy)的日期...

    fso浏览54646465465464564

    Response.Write "<script language='javascript'>alert('您编辑的不是文件或文件不存在!');window.close();</script>" Exit Sub End If Dim oFile,FileStr Set oFile=oFso.OpenTextFile(Fname,1) If oFile....

    asp.net知识库

    利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法 asp.net报表解决方法 SQLDMO类的使用 SQL过程自动C#封装,支持从表到基本存储过程生成 使用SQLDMO控制 SQL Server 使用SQL...

    asoft签到管理系统tykq3.5_build20110125

    ajaxinc: AJAX应用类(以ajax_命名的四个文件)、附件上传(upload_5xsoft.inc|asoft_upload.asp)和EXCEL导出文件(toexcel.asp)、顶部banner(top.asp)、验证码生成文件(CodeGen.asp、VerifyCode.asp),数据库连接...

    jdauto:jdautotask

    本仓库发布的Script项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断.本项目内所有资源文件,禁止任何公众号、自媒体...

    jd

    本仓库发布的脚本项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确,可以和有效,请根据情况自行判断。 本项目内所有资源文件,禁止任何公众号,自媒体进行...

    JdScripts:十县京东秦岛

    本仓库发布的脚本项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确,可以和有效,请根据情况自行判断。 本项目内所有资源文件,禁止任何公众号,自媒体进行...

    jdspring1

    本仓库发布的脚本项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确,可以和有效,请根据情况自行判断。本项目内所有资源文件,禁止任何公众号,自媒体进行任何...

    jd_script_back

    本仓库发布的脚本项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确,可以和有效,请根据情况自行判断。本项目内所有资源文件,禁止任何公众号,自媒体进行任何...

    jd_scripts

    本仓库发布的脚本项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确,可以和有效,请根据情况自行判断。本项目内所有资源文件,禁止任何公众号,自媒体进行任何...

    jdscripts:京东

    本仓库发布的脚本项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确,可以和有效,请根据情况自行判断。 本项目内所有资源文件,禁止任何公众号,自媒体进行...

    JdScripts:Jd脚本

    本仓库发布的脚本项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确,可以和有效,请根据情况自行判断。本项目内所有资源文件,禁止任何公众号,自媒体进行任何...

    JdScripts

    本仓库发布的脚本项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确,可以和有效,请根据情况自行判断。 本项目内所有资源文件,禁止任何公众号,自媒体进行...

Global site tag (gtag.js) - Google Analytics