JS自定義函數(shù)對(duì)web前端上傳的文件進(jìn)行類型大小判斷
更新時(shí)間:2016年10月19日 08:50:58 作者:南陽客
這篇文章主要介紹了JS自定義函數(shù)對(duì)web前端上傳的文件進(jìn)行類型大小判斷的相關(guān)資料,需要的朋友可以參考下
廢話不多說了直接給大家貼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前端對(duì)上傳的文件進(jìn)行類型大小判斷的js自定義函數(shù)</title>
</head>
<body>
<form>
<input type="file" id="fileId">
<input type="button" value = "提交" onclick="checkFileSizeAndType(10*1024*1024,['gif','jpg','png'],'fileId');">
</form>
<script>
//參數(shù)說明
//maxSize 代表允許最大上傳的文件大小,單位是字節(jié)
//allowType 代表允許上傳的文件類型(后綴)
//fileId 代表input type=file 框 的id
function checkFileSizeAndType(maxSize,allowType,fileId) {
//默認(rèn)大小
if(!maxSize){
maxSize=10*1024*1024;
}
//默認(rèn)類型
if(!allowType){
allowType=new Array('jpg','png');
}
//js通過id獲取上傳的文件對(duì)象
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);
//定義標(biāo)志是否可以提交上傳
var isUpload = true;
//定義一個(gè)錯(cuò)誤參數(shù):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;
}
}
}
}
//對(duì)錯(cuò)誤的類型進(jìn)行對(duì)應(yīng)的提示
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自定義函數(shù)對(duì)web前端上傳的文件進(jìn)行類型大小判斷,希望對(duì)大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:
- javascript自定義日期比較函數(shù)用法示例
- JS中創(chuàng)建自定義類型的常用模式總結(jié)【工廠模式,構(gòu)造函數(shù)模式,原型模式,動(dòng)態(tài)原型模式等】
- AngularJs1.x自定義指令獨(dú)立作用域的函數(shù)傳入?yún)?shù)方法
- JS自定義函數(shù)實(shí)現(xiàn)時(shí)間戳轉(zhuǎn)換成date的方法示例
- JavaWeb開發(fā)之JSTL標(biāo)簽庫的使用、 自定義EL函數(shù)、自定義標(biāo)簽(帶屬性的、帶標(biāo)簽體的)
- js document.getElementsByClassName的使用介紹與自定義函數(shù)
- 自定義require函數(shù)讓瀏覽器按需加載Js文件
- 常用原生js自定義函數(shù)總結(jié)
- PHP自定義函數(shù)格式化json數(shù)據(jù)示例
- 詳解JavaScript自定義函數(shù)
相關(guān)文章
uniapp實(shí)現(xiàn)下拉刷新的幾種方式小結(jié)
原生的uniapp的下拉刷新是一個(gè)普通的加載框,樣式真的很單一,下面這篇文章主要總結(jié)介紹了uniapp實(shí)現(xiàn)下拉刷新的幾種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02
JavaScript實(shí)現(xiàn)簡單的輪播圖效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單的輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
微信小程序?qū)崿F(xiàn)點(diǎn)擊出現(xiàn)彈窗
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)點(diǎn)擊出現(xiàn)彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
js讀取json文件片段中的數(shù)據(jù)實(shí)例
下面小編就為大家?guī)硪黄猨s讀取json文件片段中的數(shù)據(jù)實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
JavaScript使用ZeroClipboard操作剪切板
這篇文章主要為大家詳細(xì)介紹了JavaScript使用ZeroClipboard操作剪切板的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05

