javascript图片验证

本文介绍了一个JavaScript函数用于验证用户上传的文件是否符合特定条件,包括文件类型(仅限.jpg、.png、.jpeg、.gif)及文件大小限制(不超过1MB)。此外,还提供了上传更多图片的功能,并允许用户删除已选择的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//图片上传大小和后缀检查
function fileChange(target){  
//检测上传文件的类型 
   var imgName = target.value;
    var ext,idx;   
    if (imgName == ''){  
       document.all.submit_upload.disabled=true; 
        alert("请选择需要上传的文件!");  
        return; 
    } else {   
        idx = imgName.lastIndexOf(".");   
        if (idx != -1){   
            ext = imgName.substr(idx+1).toUpperCase();   
            ext = ext.toLowerCase( ); 
           // alert("ext="+ext);
            if (ext != 'jpg' && ext != 'png' && ext != 'jpeg' && ext != 'gif'){
              document.all.submit_upload.disabled=true;   
                alert("只能上传.jpg  .png  .jpeg  .gif类型的文件!"); 
                return;  
            }   
        } else {  
          document.all.submit_upload.disabled=true; 
           alert("只能上传.jpg  .png  .jpeg  .gif类型的文件!"); 
           return;
        }   
    }
    //检测上传文件的大小        
    var isIE = /msie/i.test(navigator.userAgent) && !window.opera;  
    var fileSize = 0;           
    if (isIE && !target.files){       
        var filePath = target.value;     
        var fileSystem = new ActiveXObject("Scripting.FileSystemObject");          
        var file = fileSystem.GetFile (filePath);       
        fileSize = file.Size;      
    } else {      
        fileSize = target.files[0].size;       
    }     
    if(fileSize>(1024*1*1024)){    
        document.all.submit_upload.disabled=true;
        alert("文件大小不能超过1M");   
    }else{
    document.all.submit_upload.disabled=false;
    }    
}     


//上传更多图片
function uploadMore(){
	$("#productImgTd").append(
	$("<div><input type=\"file\" value=\"\" name=\"productImg\" onchange=\"fileChange(this);\"/> <input type=\"button\" value=\"-\" onclick='rvmFileDiv(this)'/></div>")
	);
}

//移除上传图片的file
function rvmFileDiv(bnt){
	$(bnt).parent().remove();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值