我在互联网上获得了这个jquery文件类型验证。它很棒。我后来在其中添加了一些代码来验证文件的大小。但是当我的文件大小超过50KB时,它没有引发警告框。我只是学习jquery所以我不确定我添加的内容是否正确。请帮忙。
这是JSFIDDLE
以下是代码:
<script>
$(document).ready(function () {
$('input[type=file]').change(function () {
var val = $(this).val().toLowerCase();
var regex = new RegExp("(.*?)\.(jpg|jpeg|gif)$");
if(!(regex.test(val))) {
$(this).val('');
alert('Unsupported file');
}
if ($(this).files.size > 50000 || $(this).files.fileSize > 50000)
{
//reset file upload control
$(this).val('');
//show an alert to the user
alert('Allowed file size exceeded 50KB');
}
}); });
</script>
这是我在现有代码中添加的内容:
if ($(this).files.size > 50000 || $(this).files.fileSize > 50000)
{
//reset file upload control
$(this).val('');
//show an alert to the user
alert('Allowed file size exceeded 50KB');
}
答案 0 :(得分:2)
工作小提琴HERE
代码
$(document).ready(function () {
$('input[type=file]').change(function () {
var val = $(this).val().toLowerCase();
var regex = new RegExp("(.*?)\.(jpg|jpeg|gif)$");
if(!(regex.test(val))) {
$(this).val('');
alert('Unsupported file');
}
if (this.files[0].size > 50000 || this.files[0].size > 50000)
{
//reset file upload control
$(this).val('');
//show an alert to the user
alert('Allowed file size exceeded 50KB');
}
}); });
更多参考Here。它使用this.files[0].size
表示获取第一个选择文件的文件大小(如果启用了多选,检查第一个图像),无论如何您没有多选,因此您使用选择的第0个文件索引访问它,因为您只能选择1个文件在正常运作中。
答案 1 :(得分:-1)
$(document).ready(function () {
$('input[type=file]').change(function () {
var val = $(this).val().toLowerCase();
var regex = new RegExp("(.*?)\.(jpg|jpeg|gif)$");
if(!(regex.test(val))) {
$(this).val('');
alert('Unsupported file');
}
if (this.files[0].size > 50000)
{
//reset file upload control
$(this).val('');
//show an alert to the user
alert('Allowed file size exceeded 50KB');
}
}); });
&#13;
<input type="file"/>
&#13;