jQuery实现判断上传图片类型和大小的方法示例


Posted in jQuery onApril 11, 2018

本文实例讲述了jQuery实现判断上传图片类型和大小的方法。分享给大家供大家参考,具体如下:

这里使用jQuery判断上传图片的类型和大小:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action="" method="">
  <input type="file" id="file" />
</form>
<p id="p_1">图片格式为:</p>
<p id="p_2">图片大小为:</p>
<script src="js/jquery-1.8.3.min.js"></script>
<script>
$(function(){
  var p_1 = $('#p_1'),
    p_2 = $('#p_2');
  $('body').on('change','#file',function(){
    var path = $(this).val(),
    extStart = path.lastIndexOf('.'),
    ext = path.substring(extStart,path.length).toUpperCase();
    //判断图片格式
    if(ext !== '.PNG' && ext !== '.JPG' && ext !== '.JPEG' && ext !== '.GIF'){
      alert('请上传正确格式的图片');
      resetFile();
      return false;
    }else{
      p_1.html('图片格式为:' + ext);
    }
    //获取图片大小,注意使用this,而不是$(this)
    var size = this.files[0].size / 1024;
    if(size > 10240){
      alert('图片大小不能超过10M');
      resetFile();
      return false;
    }else{
      p_2.html('图片大小为:' + size.toFixed(2) + 'KB');
    }
  })
  //还原
  function resetFile(){
    //清空file表单的值,不能直接使用$('#file').val('')这种写法
    $('form').html('<input type="file" id="file" />');
    p_1.html('图片格式为:');
    p_2.html('图片大小为:');
  }
})
</script>
</body>
</html>

lastIndexOf()方法从后向前检索指定字符串,如果出现了指定的字符,则返回该字符所在的位置,如果没有,返回-1,位置从0开始计数

toUpperCase()方法转换成大写字母

substring()方法截取字符串,第一个参数为开始的位置,第二个参数为结束的位置(如果省略,则默认会截取到字符串的结尾),与slice()substr()方法不同的是,substring()不接受负的参数

slice()方法同substring()方法,区别是接受负的参数(若参数为负数,则从字符串尾部开始计算位置)

substr()方法截取字符串,第一个参数是开始的位置,第二个参数是截取的长度(不同于slice和substring),现已不建议使用

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
javaScript和jQuery自动加载简单代码实现方法
Nov 24 jQuery
jquery应用实例分享_实现手风琴特效
Feb 01 jQuery
基于jquery实现左右上下移动效果
May 02 jQuery
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
jquery 通过ajax请求获取后台数据显示在表格上的方法
Aug 08 jQuery
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
jQuery Migrate 插件用法实例详解
May 22 jQuery
jquery实现动态改变css样式的方法分析
May 27 jQuery
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
jQuery擦除插件eraser使用方法详解
Jan 11 jQuery
9种方法优化jQuery代码详解
Feb 04 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 #jQuery
jQuery中复合选择器简单用法示例
Mar 31 #jQuery
jQuery中内容过滤器简单用法示例
Mar 31 #jQuery
jQuery中可见性过滤器简单用法示例
Mar 31 #jQuery
jQuery实现的上传图片本地预览效果简单示例
Mar 29 #jQuery
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 #jQuery
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
Mar 28 #jQuery
You might like
用PHP动态创建Flash动画
2006/10/09 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
php实现把数组按指定的个数分隔
2014/02/17 PHP
ThinkPHP关于session的操作方法汇总
2014/07/18 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
jquery中动态效果小结
2010/12/16 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
Dom操作之兼容技巧分享
2011/09/20 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
10个很棒的jQuery代码片段
2015/09/24 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
vue中格式化时间过滤器代码实例
2019/04/17 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
浅析python中的分片与截断序列
2016/08/09 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
Python Pandas 箱线图的实现
2019/07/23 Python
Python内置函数locals和globals对比
2020/04/28 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
招商专员岗位职责
2014/02/08 职场文书
诉讼授权委托书
2014/10/15 职场文书
男人帮观后感
2015/06/18 职场文书
初中政教处工作总结
2015/08/12 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers