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 相关文章推荐
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
Mar 21 jQuery
JQuery 进入页面默认给已赋值的复选框打钩
Mar 23 jQuery
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
Jul 20 jQuery
jQuery Ajax 实现分页 kkpager插件实例代码
Aug 10 jQuery
jQuery EasyUI结合zTree树形结构制作web页面
Sep 01 jQuery
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
Sep 20 jQuery
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
jQuery实现切换隐藏与显示同时切换图标功能
Oct 29 jQuery
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
jQuery实现简单三级联动效果
Sep 05 jQuery
jQuery实现本地存储
Dec 22 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
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
2015/11/19 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
javascript设计模式 接口介绍
2012/07/24 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
js实现遮罩层划出效果是生成div而不是显示
2014/07/29 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
2014/10/17 Javascript
jQuery实现下拉框功能实例代码
2016/05/06 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
原生js实现倒计时--2018
2017/02/21 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
对numpy中轴与维度的理解
2018/04/18 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
python利用faker库批量生成测试数据
2020/10/15 Python
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
大学学习计划书范文
2014/05/02 职场文书
2014年新教师工作总结
2014/11/08 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
大学生村官入党自传
2015/06/26 职场文书
医学生自荐信范文(2016精选篇)
2016/01/28 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL