Jquery 文件大小验证不起作用
Jquery file size validation does not work
我在 Internet 上得到了这个 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');
}
工作fiddleHERE
代码
$(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
表示获取第一个 selectd 文件的文件大小(如果启用了 multiselect,检查第一个图像),无论如何你没有 multiselect 所以你使用文件的第 0 个索引 selected 访问它,因为在常规操作中您只能 select 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');
}
}); });
<input type="file"/>
我在 Internet 上得到了这个 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');
}
工作fiddleHERE
代码
$(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
表示获取第一个 selectd 文件的文件大小(如果启用了 multiselect,检查第一个图像),无论如何你没有 multiselect 所以你使用文件的第 0 个索引 selected 访问它,因为在常规操作中您只能 select 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');
}
}); });
<input type="file"/>