js判断上传图片大小限制300k

来源:互联网 发布:漫步者s2000mkii 知乎 编辑:程序博客网 时间:2024/05/17 05:02

input 标签

<input id="tmpId type="file" name="file" onchange="limitJpg('tmpId');">


js代码

function limitJpg(fileId, imgId, urlId) {    var max_size = 300;// 300k    var tmpFile = document.getElementById(fileId);    if (tmpFile.value == '' || tmpFile.value == null) {        alert("请上传图片");        return false;    }    if (!/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(tmpFile.value)) {        alert("图片类型必须是[.gif,jpeg,jpg,png]中的一种");        tmpFile.value = "";        return false;    } else {        var fileData = tmpFile.files[0];        var size = fileData.size;        if (size > max_size * 1024) {            alert("图片大小不能超过300k");            tmpFile.value = "";        } else {            ajaxFileUpload(fileId, imgId, urlId);        }    }}

说明:size 拿到的是字节数。
计算机存储信息的大小,最基本的单位是字节,一个汉字由两个字节组成,字母和数字由一个字节组成。 
容量的单位从小到大依次是:字节(B)、KB、MB、GB、TB。它们之间的关系是。 
1TB=1024GB 
1GB=1024MB 
1MB=1024KB 
1KB=1024字节 
通常人们都使用简便的叫法,把后面的“B”去掉,所以你问的1MB就是1024KB。 
以上是根据教科书给出的答案,不过理论和实际是有点出入的,硬件方面,特别是硬盘,换算的方式略有差别,既将上面公式里的1024都换成1000,24可以忽略不计。所以现实中我们买的硬盘使用时都会发现,实际可使用的容量和标称的是有差别的,实际可使用的容量比标称的小,而且硬盘越大,差异越大,硬盘厂商以1000MB为1GB,我们的windows系统以1024MB为1GB,就是这样。

1 0
原创粉丝点击