如何在javascript验证中检查最大上传文件大小

How to check maximum upload file size in javascript validation?

本文关键字:文件大小 检查 javascript 验证      更新时间:2023-09-26

我有一个代码,但我需要一个javascript验证来检查最大上传文件大小,比如检查上传的文件是否增加了1-MB,显示错误文件是否增加,选择小于1MB的文件。。。

我有这段代码如何使用最大文件大小的正则表达式,以及我在这段代码中使用的用于检查最大大小验证的whar代码。

<form action="" method="post">
 <script type="text/javascript">
   function ValidateExtension() {
     var allowedFiles = [".doc", ".docx", ".pdf"];
     var fileUpload = document.getElementById("fileUpload");
     var lblError = document.getElementById("lblError");
     var regex = new RegExp("([a-zA-Z0-9's_''.'-:])+(" + allowedFiles.join('|') + ")$");
     if (!regex.test(fileUpload.value.toLowerCase())) {
       lblError.innerHTML = "Please upload files having extensions: <b>" + allowedFiles.join(', ') + "</b> only.";
       return false;
     }
     lblError.innerHTML = "";
     return true;
   }
 </script>
<input id="fileUpload" type="file" /> 
<br /> 
<span id="lblError" style="color: red;"></span> 
<br /> 
<input type="submit" id="btnUpload" value="Upload" onclick="return ValidateExtension()" /> 
</form>

这应该会让您开始。

function validate(el) {
  var maxfilesize = 1024 * 1024,  // 1 Mb
      filesize    = el.files[0].size,
      warningel   = document.getElementById( 'lbError' );
  if ( filesize > maxfilesize )
  {
    warningel.innerHTML = "File too large: " + filesize + ". Maximum size: " + maxfilesize;
    return false;
  }
  else
  {
    warningel.innerHTML = '';
    return true;
  }   
}
.warning { font-style: italic; }
<form enctype="multipart/form-data" method="POST">
  <input type='file' name='f' onchange='validate(this)'>
  <div id='lbError' class='warning'></div>
  <input type='submit' onsubmit='return validate()'/>
</form>