2012-04-24 21 views
4

次のURLの例を使用して、ユーザー名を取得する方法を教えてください。JavaScriptのURLの最後の部分を取得する

http://www.mysite.com/username_here801

正規表現ソリューションは、クールになります。

次のサンプルでは、​​ドメイン名のみを取得します。

var url = $(location).attr('href'); 

    alert(get_domain(url)); 

    function get_domain(url) { 
    return url.match(/http:\/\/.*?\//); 
    } 

jQueryのソリューションも許容されます。

答えて

7
var url = "http://www.mysite.com/username_here801";  
var username = url.match(/username_(.+)/)[1]; 

http://jsfiddle.net/5LHFd/

を常にそのスラッシュの後に直接テキストを返すために.comに続くことができます:

おそらく_supplied_のURLから最後の部分を抽出する方法を尋ねる

http://jsfiddle.net/5LHFd/2/

+0

K. username_は単なる例であり、パターンではありません。私が一致させようとしているパターンは、ドメイン拡張に続く最初のスラッシュの後のものです.com – ASPiRE

+0

@Vini splitを使った私の答えの2番目の部分は、あなたのために働くはずです。 –

4

あなたは正規表現のソリューションが受け入れ可能であるならば、あなたは試みることができるdocument.location.pathname

+0

OPさん。 –

1

でそれにアクセスすることができます。

function get_path(url) { 
    // following regex extracts the path from URL 
    return url.replace(/^https?:\/\/[^\/]+\//i, "").replace(/\/$/, ""); 
} 
+0

この正規表現は、ドメイン拡張子に続く最初のスラッシュの後に何も一致しないようです.com – ASPiRE

+0

改訂版の回答を参照してください。 –

+0

閉じるが、結果はusername_here801の代わりに/ username_here801 /と表示されている – ASPiRE

0

あなたのパス名の開始場所を見つけるためにあなたのgetDomain()関数を使用することができます。:

function getUsername(url){ 
    var position = getDomain(url).length + 1; 
    return url.slice(position); 
} 
関連する問題