JS自定義函數(shù)對(duì)web前端上傳的文件進(jì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("請(qǐng)選擇文件!"); 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ì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(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)簽庫(kù)的使用、 自定義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)文章
Javascript中Microtask和Macrotask鮮為人知的知識(shí)點(diǎn)
這篇文章主要為大家介紹了Javascript中Microtask和Macrotask鮮為人知的知識(shí)點(diǎn)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04Js動(dòng)態(tài)添加復(fù)選框Checkbox的實(shí)例方法
Js動(dòng)態(tài)添加復(fù)選框Checkbox的實(shí)例方法,需要的朋友可以參考一下2013-04-04js判斷移動(dòng)端橫豎屏視口檢測(cè)實(shí)現(xiàn)的幾種方法
最近做歌一個(gè)小項(xiàng)目,但是要放到我們的app上,然而需要橫豎屏使用不同的樣式,本文就來介紹一下js判斷移動(dòng)端橫豎屏視口檢測(cè)實(shí)現(xiàn)的幾種方法,感興趣的可以了解一下2021-07-07微信小程序開發(fā)中var that =this的用法詳解
這篇文章主要介紹了微信小程序開發(fā)中var that =this的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01JavaScript常用的返回,自動(dòng)跳轉(zhuǎn),刷新,關(guān)閉語句匯總
這篇文章主要介紹了JavaScript常用的返回,自動(dòng)跳轉(zhuǎn),刷新,關(guān)閉語句,實(shí)例匯總了常用的javascript技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-01-01