js 驗證上傳圖片 復制代碼 代碼如下:
var ImgObj=new Image();//建立一個圖像對象
varAllImgExt=".jpg|.jpeg|.gif|.bmp|.png|"//全部圖片格式類型
varFileObj,ImgFileSize,ImgWidth,ImgHeight,FileExt,ErrMsg,FileMsg,IsImg//全局變量圖片相關屬性
//以下為限制變量
var AllowExt=""; //允許上傳的文件類型ŀ為無限制每個擴展名後邊要加一個"|" 小寫字母表示
var AllowImgFileSize=100;//允許上傳圖片文件的大小 0為無限制 單位:KB
var AllowImgWidth=385; //允許上傳的圖片的寬度Ɓ為無限制 單位:px(像素)
var AllowImgHeight=441; //允許上傳的圖片的高度ƹ為無限制 單位:px(像素)
function CheckProperty(obj) //檢測圖像屬性
{
FileObj=obj;
if(ImgObj.readyState!="complete")//如果圖像是未加載完成進行循環檢測
{
setTimeout("CheckProperty(FileObj)",500);
return false;
}
ImgFileSize=Math.round(ImgObj.fileSize/1024*100)/100;//取得圖片文件的大小
ImgWidth=ImgObj.width;//取得圖片的寬度
ImgHeight=ImgObj.height; //取得圖片的高度
FileMsg="\n圖片大小:"+ImgWidth+"*"+ImgHeight+"px";
FileMsg=FileMsg+"\n圖片文件大小:"+ImgFileSize+"Kb";
FileMsg=FileMsg+"\n圖片文件擴展名:"+FileExt+"\n可以上傳!";
ErrMsg="";
if(AllowImgWidth!=ImgWidth)
ErrMsg=ErrMsg+"\n請上傳寬度等於"+AllowImgWidth+"px的文件,當前圖片寬度為"+ImgWidth+"px";
if(AllowImgHeight!=ImgHeight)
ErrMsg=ErrMsg+"\n請上傳高度等於"+AllowImgHeight+"px的文件,當前圖片高度為"+ImgHeight+"px";
if(AllowImgFileSize!=0&&AllowImgFileSize<ImgFileSize)
ErrMsg=ErrMsg+"\n請上傳小於"+AllowImgFileSize+"KB的文件,當前文件大小為"+ImgFileSize+"KB";
if(ErrMsg!="")
{
alert(ErrMsg);
return false;
}
else
return true;
}//end CheckProperty();
ImgObj.onerror=function(){ErrMsg='\n圖片格式不正確或者圖片已損壞!';}
function CheckExt(obj)
{
ErrMsg="";
FileMsg="";
IsImg=false;
if(obj.value=="")
return false;
FileExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();
if(AllImgExt.indexOf(FileExt+"|")!=-1)//如果圖片文件,則進行圖片信息處理
{
IsImg=true;
FileObj=obj;
ImgObj.src=obj.value;
returnCheckProperty(obj);
}else
{
alert("該文件類型不允許上傳。請上傳"+AllImgExt+"類型的文件,\n當前文件類型為"+FileExt);
obj.value='';
return false;
}
}
上傳的js驗證 下文給大家介紹怎樣控制一個上傳文件的擴展名。
js:
復制代碼 代碼如下:
function check2()
{
var file = document.getElementsByName("file").value;
if(file=="")
{
alert("請選擇文件");
return false;
}
var strTemp = file.split(".");
var strCheck = strTemp[strTemp.length-1];
if(strCheck.toUpperCase()=='JPG')
{
return true;
}else
{
alert('上傳文件類型不對!');
return false;
}
}
表單:
復制代碼 代碼如下:
<form action="*.jsp" method="post" onsubmit="return check()">
<input type="file" name="file">
<input type="submit" value="上傳">
</form>
需要注意的是,document.getElementsByName("file").value獲取的是所上傳的文件的絕對路徑,故使用字符串分割法將文件的拓展名分割出來,然後再進行判斷。