我有一个代码,但我需要一个 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>
Run Code Online (Sandbox Code Playgroud)
这应该让你开始。
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;
}
}Run Code Online (Sandbox Code Playgroud)
.warning { font-style: italic; }Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)