判斷input上傳文件類型,文件大小。input獲取的size為字節,判斷大小的時候需要把限制大小轉換為字節
//input標簽添加Onchange事件 <input type="file" id="kjzylj" name="kjzylj" class="file" onchange="getFile(this)"> //JS部分 function getFile(val) { var file = val.files[0];//獲取文件對象 var type = file.name.split('.')[1];//獲取文件類型 type=type.toLowerCase();//轉換為小寫 if (getTypeCode(type)==0){ toastr.warning("文件類型不符合規定!"); return; } if (!checkFileSize(getTypeCode(type),file.size)){ toastr.warning("文件過大!"); return; } ] //獲取文件類型 function getTypeCode(type) { switch (type) { case 'doc': return 1; break; case 'docx': return 2; break; case 'xls': return 3; break; case 'xlsx': return 4; break; case 'ppt': return 5; break; case 'pptx': return 6; break; case 'txt': return 7; break; case 'pdf': return 8; break; case 'mp4': return 9; break; case 'mp3': return 10; break; default : return 0; } } //獲取文件大小 /* * type=文件類型 * size=文件大小 * */ function checkFileSize(type,size) { //檢查上傳文件的大小 if (type<9){ if (size>52428800){ //文檔類文件大於50M return 0; } }else if (type==9){ if (size>1073741824){ //視頻文件大於1G return 0; } }else{ if (size>209715200){ //音頻文件大於200M return 0; } } return 1; }