js验证上传类型

很多时候都需要验证一下上传类型,比如有的只需要上传文件,则图片就不能上传,有的只要求上传图片,那么文件就不能上传,正常上传的html写法:

法一:

 

<span id="spanpic"><input type="file" name="picUrl" id="picUrl" οnchange='chkfilepic();'/>
</span><span id="picUrl_error"></span>
				

 

 

首先触发的是chkfilepic()这个事件,

function chkfilepic(){
    var filevalue=$("#picUrl").val();
    if(!checkImgType(filevalue)){
    	alert("只能上传'.gif','.jpg','.jpeg','.png','.bmp'格式的图片",unblock);
	$("#spanpic").html(
"<input type='file' name='picUrl' id='picUrl' οnchange='chkfilepic()'/>");
    }
}
//验证的js
var right_type=new Array(".gif",".jpg",".jpeg",".png",".bmp");//这个地方可以扩展
function checkImgType(fileURL)
{
	 //本程序用来验证后缀,如果还有其它格式,可以添加在right_type;
	 var right_typeLen=right_type.length;
	 var imgUrl=fileURL.toLowerCase();
	 var postfixLen=imgUrl.length;
	 var len4=imgUrl.substring(postfixLen-4,postfixLen);
	 var len5=imgUrl.substring(postfixLen-5,postfixLen);
	 for (var i=0;i<right_typeLen;i++){
		  if((len4==right_type[i])||(len5==right_type[i])){
		   	return true;
		  }
	 }
}

 法二:

<input type="file" id="myfile" name="myfile" οnchange="checkFile()"/>

 触发的事件是checkFile()事件

String.prototype.endsWith=function(s){
	 if(s==null||s==""||this.length==0||s.length>this.length){  
	       return false;  
	  }            
	   if(this.substring(this.length-s.length)==s){  
	        return true;  
	     }else{  
	        return false;  
	    }  
	        return true;  
	    }
		
	function checkFile() {
	        var location = $('#myfile').val();
	       	if (location.endsWith('doc') || location.endsWith('docx')
      || location.endsWith('xls')|| location.endsWith('xlsx') || location.endsWith('ppt') 
      || location.endsWith('pdf')) {
	        	document.forms['form1'].submit();
	      	}else{
	        	alert("文件格式错误,附件仅支持doc、docx、xls、xlsx、ppt和pdf格式文件,请重新选择");
	      	}
	  }

 综上:两者是差不多的,任选一种即可,都属于可扩展的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值