一段Js代码限制网页上传文件大小、类型

搭建网站需要收集用户提交的信息,限定用户提交的文件大小不超过1MB,并且文件类型为pdf。

虽然input 标签中有文件类型的选项(如下代码段,设定了传入的是文件类型,设定可接受的为pdf)。

<input type="file" accept="application/pdf"/>

但是在实际上传的过程中,如果用户想要强行上传各种类型的文件,也能上传得了,如图1。

图1  修改文件类型仍然可以上传

所以我们需要用js代码判断上传的文件类型,完整代码如下:



<!DOCTYPE html>
<html lang="en">
<head>
    <title>Document</title>
</head>
<body>
    <input type="file" accept="application/pdf" onchange="fileChange(this);" />  
    // onchange="fileChange(this);" 调用js代码

    <script type="text/javascript">  

        function fileChange(target) {
            var fileSize;
            fileSize = target.files[0].size;
            var size = fileSize / 1024;
            if (size > 1024) {
                alert("附件不能大于1M");
                target.value = "";
                return false;   //阻止submit提交
            }

            if (!/\.(pdf|PDF)$/.test(target.value)) {
                alert("图片类型必须是pdf类型");
                target.value = "";
                return false;   //阻止submit提交
            }
        }
    </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值