前端js限制上传文件类型及大小(1)

  1. <html>   
  2. <head>   
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  4. <script type="text/javascript">   
  5. var isIE = /msie/i.test(navigator.userAgent) && !window.opera;   
  6. function fileChange(target,id) {   
  7. var fileSize = 0;   
  8. var filetypes =[".jpg",".png",".rar",".txt",".zip",".doc",".ppt",".xls",".pdf",".docx",".xlsx"];   
  9. var filepath = target.value;   
  10. var filemaxsize = 1024*2;//2M   
  11. if(filepath){   
  12. var isnext = false;   
  13. var fileend = filepath.substring(filepath.indexOf("."));   
  14. if(filetypes && filetypes.length>0){   
  15. for(var i =0; i<filetypes.length;i++){   
  16. if(filetypes[i]==fileend){   
  17. isnext = true;   
  18. break;   
  19. }   
  20. }   
  21. }   
  22. if(!isnext){   
  23. alert("不接受此文件类型!");   
  24. target.value ="";   
  25. return false;   
  26. }   
  27. }else{   
  28. return false;   
  29. }   
  30. if (isIE && !target.files) {   
  31. var filePath = target.value;   
  32. var fileSystem = new ActiveXObject("Scripting.FileSystemObject");   
  33. if(!fileSystem.FileExists(filePath)){   
  34. alert("附件不存在,请重新输入!");   
  35. return false;   
  36. }   
  37. var file = fileSystem.GetFile (filePath);   
  38. fileSize = file.Size;   
  39. } else {   
  40. fileSize = target.files[0].size;   
  41. }   
  42.   
  43. var size = fileSize / 1024;   
  44. if(size>filemaxsize){   
  45. alert("附件大小不能大于"+filemaxsize/1024+"M!");   
  46. target.value ="";   
  47. return false;   
  48. }   
  49. if(size<=0){   
  50. alert("附件大小不能为0M!");   
  51. target.value ="";   
  52. return false;   
  53. }   
  54. }   
  55. </script>   
  56. </head>   
  57. <body>   
  58. <input type="file" name="contractFileName" style=" 500px;" onchange="fileChange(this);"/>   
  59. </body>   
  60. </html>   
原文地址:https://www.cnblogs.com/telwanggs/p/7809000.html