2011-01-03 17 views
0

からIDを抽出します、jQueryの私はこのコードを持っているURL

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

は、これは私の現在のURLを取得し、URLの最後にそれが持っている私から8を抽出することができますどのように蓋= 8

を?そのURL?私はこれを試しました:

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

しかし、それはnullを返します。

+1

同様のスレッド:http://stackoverflow.com/questions/872217/jquery-how-to-extract-value-from-href-tag – Heikki

+0

@Heikkiありがとうございます!それは私に必要なものを与えました。var guestid = $(this).attr( "href")。match(/ lid =([0-9] +)/)[1]; – John

答えて

1

jqueryを使用してURLを取得するには、$(location).attr('href');を使用するか、window.location.pathname;を使用する必要があります。それはクエリ文字列では唯一のものならあなたの正規表現は

正しいEDIT

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

コードはクリックアクションから使用されます。私はvarの警告をするとき= $(this).attr( 'href');それは私にちょうど良いURLを返します。私はちょうどゲストIDが含まれているURLの文字列からIDを抽出する方法を知る必要があります。 – John

+0

これを行うと、var guestid = $(this).attr( 'href')。match(/ \?lid = [0-9] + $ /); ()で数値を囲まないと、値は?lid = 8になります。だから私はちょうど数字を追加するに間違って何ですか? – John

+0

は 'regex.exec'を使います。 'var mRegexp =/\?lid =([0-9] +)$ /; var match = mRegexp.exec(myString); lert(match [1]); ' –

0

で、これを実行します。

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

を...そして、あなたはそれを持っています。

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

正規表現の必要はありません。

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