来自url的Jquery提取id

时间:2011-01-03 01:07:56

标签: jquery design-patterns match

我有这段代码:

var guestid = $(this).attr('href');

这会得到我当前的网址,在它的网址末尾有?lid = 8

如何从该网址中提取8?我试过这个:

var guestid = $(this).attr('href').match(/\?lid=([0-9]+)$/);

但它返回null。

3 个答案:

答案 0 :(得分:1)

您必须使用$(location).attr('href');来使用jquery获取网址或使用window.location.pathname;。你的正则表达式是正确的

修改

var mRegexp = /\?lid=([0-9]+)$/; 
var match = mRegexp.exec($(this).attr('href'));
alert(match[1]);

答案 1 :(得分:1)

$.urlParam = function(name){
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
    return results[1] || 0;
}

// вызов: передаём параметр, который хотим достать из url'а
//(translation) Call: passing a parameter that we want to get out of
$.urlParam('Id');

source

答案 2 :(得分:0)

如果这是查询字符串中的唯一内容,请执行以下操作:

var guestid = this.search.split('=')[1];

......你已经明白了。

示例: http://jsfiddle.net/zzhPj/

不需要正则表达式。