功能:
1.限制副檔名:只能jpg || jpg和gif
2.限制圖片大小:K為單位
3.限制圖片寬高:px為單位(要麼都有,要麼都無)
4.限制已經損壞的圖片(沒有預覽的圖片)
5.限制更改過副檔名的圖片(比如強制把一個動態GIF副檔名改為JPG了)
使用限制:
要在InputFile裡增加onchange事件,使其選擇檔案後能在一個img標籤裡載入出來,否則使用會出錯
imglimit.js
function limitImg(){<br />var img=document.getElementById(arguments[0]);//顯示圖片的對象<br />var maxSize=arguments[1];//<br />var allowGIF=arguments[2]||false;<br />var maxWidth=arguments[3]||0;<br />var maxHeight=arguments[4]||0;<br />var postfix=getPostfix(img.src);<br />var str=".jpg";<br />if(allowGIF){str+=".gif"}<br />if(str.indexOf(postfix.toLowerCase())==-1){<br />if(allowGIF){return "圖片格式不對,只能上傳jpg或gif映像";}else{return "圖片格式不對,只能上傳jpg映像";}<br />}else if(img.fileSize>maxSize*1024){<br />return "圖片大小超過限制,請限制在"+maxSize+"K以內";<br />}else{<br />if(img.fileSize==-1){<br />return "圖片格式錯誤,可能是已經損壞或者更改副檔名導致,請重新選擇一張圖片";<br />}else{<br />if(maxWidth>0){<br />if(img.width>maxWidth){<br />return "圖片寬度超過限制,請保持在"+maxWidth+"像素內";<br />}else{<br />if(img.height>maxHeight){<br />return "圖片高度超過限制,請保持在"+maxHeight+"像素內";<br />}else{<br />return "";<br />}<br />}<br />}else{<br />return "";<br />}<br />}<br />}<br />}<br />//根據路徑擷取副檔名<br />function getPostfix(path){<br />return path.substring(path.lastIndexOf("."),path.length);<br />}
頁面調用:
<body><br /><input type="file" onchange="document.getElementById('img1').src=this.value;" /><br /><img id="img1" /><br /><input type="button" onclick="aa()" value="上傳" /><br /></body><br /><mce:script type="text/javascript"><!--<br />function aa(){<br />if(limitImg('img1',100,false,1000,100)==""){<br />alert("圖片上傳成功");<br />}else{<br />alert(limitImg('img1',100,false,1000,100));<br />}<br />}<br />// --></mce:script>