jQuery获取地址栏中的链接参数

http://caibaojian.com/177.html

问题描述

今天做一个主题,有一个需求是根据不同的页面来做,虽然php也可以做到,不过考虑到自己的特效代码都是在jQuery上完成,想着能否直接通过获取地址栏中的链接参数里面的数字直接来实现效果。

假设页面的地址是这样子的。http://caibaojian.com/p/165 ,那么我要获取最后的一个数字165,可以通过这样子的代码·

var url= window.location.href;
var index = url.substring(url.lastIndexOf(‘/‘) + 1);

但是这样子有缺陷,假如我获取到的地址不是这样子的形式,而是http://caibaojian.com/tools的话,那么这个index的值就不是一个数字了。

解决方案

下面这种可能会更好呢?

//code from http://caibaojian.com/177.html
var lastBit = url.substring(url.lastIndexOf(‘/‘) + 1).match(/[^\/]*$/)[0];
var lastDigits = url.substring(url.lastIndexOf(‘/‘) + 1).match(/[0-9]*$/)[0];  // 获取的是数字部分

获取查询值

<script type="text/javascript">
(function($){
$.getUrlParam = function(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
})(jQuery);
$(function(){
alert(window.location.href);
alert($.getUrlParam(‘page‘));
})
</script>

http://www.caibaojian.com/front?page=5

当一个页面的地址是上面这个,那么我们使用了上面的jQuery代码,就会弹出一个数字5了。

内容扩展

对于像下面这样的网址

http://www.caibaojian.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere

我们可以用javascript获得其中的各个部分
1, window.location.href-----------整个URl字符串(在浏览器中就是完整的地址栏)
本例返回值: http://www.caibaojian.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere

2,window.location.protocol---------URL 的协议部分
本例返回值:http:

3,window.location.host----------URL 的主机部分
本例返回值:www.caibaojian.com

4,window.location.port-----URL 的端口部分
如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符
本例返回值:""

5,window.location.pathname(URL 的路径部分(就是文件地址))
本例返回值:/fisker/post/0703/window.location.html

6,window.location.search-------查询(参数)部分
除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值
本例返回值:?ver=1.0&id=6

7,window.location.hash-------锚点
本例返回值:#imhere

时间: 2024-10-26 20:41:38

jQuery获取地址栏中的链接参数的相关文章

jQuery获取URL中所带参数的办法

可以使用正则表达式进行结果的拆分: http://www.cnblogs.com/babycool/p/3169058.html 可以直接进行所需内容的split: http://blog.sciencenet.cn/blog-419883-871644.html 对于http://localhost/test.html?id=1的形式,可以采用 var id = $(location).attr('href').split('?')[1].split('=')[1]; 直接获得:

JavaScript获取地址栏中的参数

1.获取地址栏中的参数 (1)若地址栏中的地址是: http://10.124.36.56:8080/CMOD/index.jsp?name=you&password=123456&type=student (2)获取地址栏中的最后一个参数type 2.实现的JS function getAddressURLParam(paramName) { //构造一个含有目标参数的正则表达式的对象 var reg = new RegExp("(^|&)" + paramN

JavaScript获取地址栏中的参数值并存入一个对象

1 var getArgs = function () 2 { 3 var args = new Object(); //声明一个空对象 4 var query = window.location.search.substring(1); // 取查询字符串 5 var pairs = query.split("&"); // 以 & 符分开成数组 6 for(var i = 0; i < pairs.length; i++) { 7 var pos = pair

关于Jquery获取Table中td内的内容

$(this).children().eq(1).text()获取的是显示的值$(this).children().eq(1).html()获取的是<td></td>之间的所有内容$('.trSelected',grid).find("td").eq(7).text();获取的是选中的某行的内容 遍历表<table id="gird"..... $("#grid tr").each(function() {     

Javascript RegExp对象---获取url中某一个参数的值

RegExp 对象 RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具. 直接量语法 /pattern/attributes实例:window.location.href:http://localhost:8100/aspx/main/ServiceCenter_list.aspx?category_id=93&page=2要匹配到的category_id=93:/category_id=\d+/g 创建 RegExp 对象的语法: new RegExp(pattern, at

Jquery获取列表中的值和input单选、多选框控制选中与取消

一.Jquery获取列表中的值 二.input多选框控制选中 1 $('#clearbtn').click(function(){ 2 var boxes = $("input[type='checkbox']"); 3 for(i=0;i<boxes.length;i++){ 4 boxes[i].checked = false; 5 } 6 });

获取request中的查询参数

//获取request中的查询参数 public static Map<String, Object> getRequestParamsByMap(HttpServletRequest request) { Map<String,Object> qmap=new HashMap<String,Object>(); Enumeration<String> paraNames = request.getParameterNames(); while(paraNa

Jquery获取html中select,radiobutton选中的值写法

1.Html代码: <select name="" class="qixian" id="tbCheckCycleUnit"> <option value="1">天</option> <option value="2">月</option> <option value="3">年</option> &l

Java Web开发 - 将浏览器地址栏中的 Request 参数显示成中文

希望实现:在当 JSP 页面发起请求,或者 Servlet 跳转时,地址栏中的参数可以显示成中文. 在通常情况下,浏览器地址栏中的URL地址为了适配不同的浏览器,会将URL地址信息转码为"ISO 8859-1",中文参数就会被转码. 但是现在我们希望在浏览器地址栏中显示中文参数,可以使用如下办法: String url = "http://localhost:8080/test.jsp?notice=" + java.net.URLEncoder.encode(&q