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 相关文章推荐
Prototype 学习 工具函数学习($方法)
Jul 12 Javascript
解决jquery1.9不支持browser对象的问题
Nov 13 Javascript
js整数字符串转换为金额类型数据(示例代码)
Dec 26 Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 Javascript
AngularJS中$http使用的简单介绍
Mar 17 Javascript
vue.js全局API之nextTick全面解析
Jul 07 Javascript
利用JS做网页特效_大图轮播(实例讲解)
Aug 09 Javascript
谈谈vue中mixin的一点理解
Dec 12 Javascript
基于JS开发微信网页录音功能的实例代码
Apr 30 Javascript
vue iview多张图片大图预览、缩放翻转
Jul 13 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 Javascript
javascript实现蒙版与禁止页面滚动
Jan 11 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
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
Prototype Date对象 学习
2009/07/12 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
ExtJS中设置下拉列表框不可编辑的方法
2014/05/07 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
Django如何实现内容缓存示例详解
2017/09/24 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
django2 快速安装指南分享
2018/01/05 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
Python排序函数的使用方法详解
2020/12/11 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
html5图片上传预览示例分享
2014/04/14 HTML / CSS
迎接领导欢迎词
2014/01/11 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
党员检讨书范文
2014/12/27 职场文书
跑出一片天观后感
2015/06/08 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
SpringBoot整合RabbitMQ的5种模式实战
2021/08/02 Java/Android