<script>
var img=null;
function s()
{
if(img)img.removeNode(true);
img=document.createElement("img");
img.style.position="absolute";
img.style.visibility="hidden";
img.attachEvent("onreadystatechange",orsc);
img.attachEvent("onerror",oe);
document.body.insertAdjacentElement("beforeend",img);
img.src=inp.value;
}
function oe()
{
alert("cant load img");
}
function orsc()
{
if(img.readyState!="complete")return false;
alert("图片大小:"+img.offsetWidth+"X"+img.offsetHeight);
alert("图片尺寸:"+img.fileSize);
var regExp=/\w{3,4}$/;
var ext=regExp.exec(inp.value);
alert("图片类型:"+ext");
}
</script>
<input id=inp type="file">
<br>
<button onclick="s()">Test</button>

解决方案 »

  1.   

    非常感谢,我想在显示完后清空 <input id=inp type="file"> 
    alert("图片类型:"+ext);
    document.getElementById('inp').value="";这样怎么不行??请再次指点!!
      

  2.   

    你有没有用form,如果用了的话,用document.forms[0].reset()
      

  3.   

    哦谢谢兄弟,我想做个图片验证请再次帮忙看看这个函数imgcheck的参数w,h,z为什么传不过去!! 
    <script>
    var img=null;
    //var w,h,z
    function imgcheck(w,h,z)
    {
    if(img)img.removeNode(true);
    img=document.createElement("img");
    img.style.position="absolute";
    img.style.visibility="hidden";
    img.attachEvent("onreadystatechange",orsc);
    img.attachEvent("onerror",oe);
    document.body.insertAdjacentElement("beforeend",img);
    img.src=inp.value;
    }
    function oe()
    {
    alert("您选择的不是图片格式的文件!");
    inp.select(); 
    document.execCommand("delete");
    }
    function orsc(w,h,z)
    {
    if(img.readyState!="complete")return false;
    var regExp=/\w{3,4}$/;
    var ext=regExp.exec(inp.value);     if (ext!="jpg"){
            alert("你好,此广告位仅支持JPG格式的图片,不能用类型:"+ext+"!");
    inp.select(); 
    document.execCommand("delete");
    return false;
     }
         if(img.offsetWidth>w){
            alert("图片宽度:"+img.offsetWidth+"像素,超出了所要求的"+w+"像素,请调整后再上传!");
    inp.select(); 
    document.execCommand("delete");
    return false;
         }
     if(img.offsetHeight>h){
        alert("图片高度:"+img.offsetHeight+"像素,超出了所要求的"+h+"像素,请调整后再上传!");
    inp.select(); 
    document.execCommand("delete");
    return false;
     }
     if(img.fileSize/1024>z){
           alert("图片大小:"+img.fileSize/1024+"KB,超出了所要求的"+z+"KB,请调整后再上传!");
    inp.select(); 
    document.execCommand("delete");
    return false;
         }}
    </script>
    <input name="inp" type="file" id=inp onblur="return imgcheck(170,80,200);">
      

  4.   

    function orsc()
    {
    if(img.readyState!="complete")return false;
    alert("图片大小:"+img.offsetWidth+"X"+img.offsetHeight);
    alert("图片尺寸:"+img.fileSize);
    alert("图片格式:"+ img.src.replace(/.+(\.\w+)/, "$1"); //*&**&*
    }
      

  5.   

    把前面写的整理了一下,如下:(自己也收藏了)
    <script language='javascript'>
    var img=null;
    function s()
    {
    if(img)img.removeNode(true);
    img=document.createElement("img");
    img.style.position="absolute";
    img.style.visibility="hidden";
    img.attachEvent("onreadystatechange",orsc);
    img.attachEvent("onerror",oe);
    document.body.insertAdjacentElement("beforeend",img);
    img.src=inp.value;
    }
    function oe()
    {
    alert("cant load img");
    }
    function orsc()
    {
    if(img.readyState!="complete")return false;
    alert("图片大小:"+img.offsetWidth+"X"+img.offsetHeight);
    alert("图片尺寸:"+img.fileSize);
    alert("图片格式:"+ img.src.replace(/.+(\.\w+)/, "$1")); //*&**&*
    }</script>
    <input id=inp type="file">
    <br/>
    <input type='button' onclick='s();' value='Test'>