js获取网页的url文件名( 例如index.aspx),js获取url的参数(例如获取 ?cid=joeylee的值),给jquery拓展方法

 

<script type="text/javascript">

var JsRequest={   //这就是一个静态类,类里面有2个静态方法
	
	//方法一:获取url的文件名 例如 index.html  
	getUrlname:function(url){      //假如传进来的url是    http://www.qq.com/index.html?name=joey   这里一共是有3个斜杠,如果我们想获取index.html
		url=url.split('?')[0] ;// 我们只要?号前的
		var urlSlashCount=url.split('/').length; // 统计有3斜杠 
			return url.split('/')[urlSlashCount-1].toLowerCase();  //获取数组最后一个
		},
	//方法二:获取url里面的参数  我们传递一个 	getUrlParam("cid",window.location.search) 就能拿到cid的值
	//注意  假如一个网页的地址是 index.html?cid=joeylee 那么 他的window.location.search 是从?号开始的   即  ?cid=joeylee  这一串
 	getUrlParam:function(name,url){

		if(!url){
			url=window.location.search;
			}
		var searurl=new String(url);
		console.log(searurl);
		
		var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
		
		var r =searurl.substr(1).match(reg);  //匹配目标参数
		
		if (r!=null) return unescape(r[2]); return null; //返回参数值
	} 
}


var url = JsRequest.getUrlname( window.location.href);  
alert("原生方法获取到的url的名称是"+url);

var cid=JsRequest.getUrlParam("cid");
alert("原生方法获取到的cid的名称是"+cid);

(function($){
		  $.getUrl=JsRequest;    //将JsRequest添加为Jquery的扩展方法   ,方法名称为 getUrl  然后这个方法实际是包含了2个子方法的 
		  })(jQuery);


var u=$.getUrl.getUrlname( window.location.href);  
alert("Jquery拓展方法获取到的url的名称是"+u);
var d=$.getUrl.getUrlParam("cid");
alert("Jquery拓展方法获取到的cid的值是:"+d);
</script>


注意:这里

(function($){
		  $.getUrl=JsRequest;    //将JsRequest添加为Jquery的扩展方法   ,方法名称为 getUrl  然后这个方法实际是包含了2个子方法的 
		  })(jQuery);

是指给 jquery添加一个拓展方法,并且立即生效

 

image

image

image

image

posted @ 2014-04-25 17:31  梨花驿路  阅读(2156)  评论(0编辑  收藏  举报