JS自定义函数对web前端上传的文件进行类型大小判断


Posted in Javascript onOctober 19, 2016

废话不多说了直接给大家贴js代码了。具体代码如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>web前端对上传的文件进行类型大小判断的js自定义函数</title>
</head>
<body>
<form>
<input type="file" id="fileId"> 
<input type="button" value = "提交" onclick="checkFileSizeAndType(10*1024*1024,['gif','jpg','png'],'fileId');">
</form>
<script>
//参数说明
//maxSize 代表允许最大上传的文件大小,单位是字节
//allowType 代表允许上传的文件类型(后缀) 
//fileId 代表input type=file 框 的id
function checkFileSizeAndType(maxSize,allowType,fileId) {
//默认大小
if(!maxSize){
maxSize=10*1024*1024;
}
//默认类型
if(!allowType){
allowType=new Array('jpg','png'); 
}
//js通过id获取上传的文件对象
var file = document.getElementById(fileId); 
var types =allowType;
var fileInfo = file.files[0];
if(!fileInfo){
alert("请选择文件!");
return false;
}
var fileName = fileInfo.name;
//获取文件后缀名
var file_typename = fileName.substring(
fileName.lastIndexOf('.') + 1, fileName.length);
//定义标志是否可以提交上传
var isUpload = true;
//定义一个错误参数:1代表大小超出 2代表类型不支持
var errNum =0;
if (fileInfo) {
if (fileInfo.size > maxSize) {
isUpload = false;
errNum=1;
} else {
for ( var i in types) {
if (types[i] == file_typename) {
isUpload = true;
return isUpload;
} else {
isUpload = false;
errNum=2;
}
}
}
}
//对错误的类型进行对应的提示
if (!isUpload) {
if(errNum==1){
var size = maxSize/1024/1024;
alert("上传的文件必须为小于"+size+"M的图片!");
}else if(errNum==2){
alert("上传的"+file_typename+"文件类型不支持!只支持"+types.toString()+"格式");
}else{
alert("没有选择文件");
}
file.value="";
return isUpload;
}
}
</script>
</body>
</html>

以上所述是小编给大家介绍的JS自定义函数对web前端上传的文件进行类型大小判断,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery新的事件绑定机制on()示例应用
Jul 18 Javascript
用javascript将数据导入Excel示例代码
Sep 10 Javascript
浅析javascript 定时器
Dec 23 Javascript
Javascript基础教程之for循环
Jan 18 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
Sep 24 Javascript
angular基于路由控制ui-router实现系统权限控制
Sep 27 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
Nov 21 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
Dec 26 Javascript
简单实现bootstrap选项卡效果
Feb 08 Javascript
简单实现js菜单栏切换效果
Mar 04 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
js闭包的9个使用场景
Dec 29 Javascript
jQuery  ready方法实现原理详解
Oct 19 #Javascript
Javascript实现汉字和拼音互转的终极方案
Oct 19 #Javascript
Javascript typeof与instanceof的区别
Oct 18 #Javascript
javascript self对象使用详解
Oct 18 #Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 #Javascript
Jquery表单验证失败后不提交的解决方法
Oct 18 #Javascript
vue.js 表格分页ajax 异步加载数据
Oct 18 #Javascript
You might like
深入解析php模板技术原理【一】
2008/01/10 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
PHP中的命名空间详细介绍
2015/07/02 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
2017/01/30 PHP
JS日历 推荐
2006/12/03 Javascript
JavaScript 学习笔记 Black.Caffeine 09.11.28
2009/11/30 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
javascript获取form里的表单元素的示例代码
2014/02/14 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
python3爬取各类天气信息
2018/02/24 Python
python实现定时发送qq消息
2019/01/18 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
Internet主要有哪些网络群组成
2015/12/24 面试题
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
化工专业推荐信范文
2013/11/28 职场文书
大学生军训自我鉴定
2014/02/12 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
Mysql 用户权限管理实现
2021/05/25 MySQL
Python自动化爬取天眼查数据的实现
2021/06/15 Python
Consul在linux环境的集群部署
2022/04/08 Servers