0

ページ上のリンクの 3 番目と 4 番目のスラッシュの間の URL の特定の部分を取得したいと考えています。

編集:申し訳ありませんが、最初は明確ではなかったと思います。ページで見つかったURL OF A LINKの特定の部分を取得することを意味していました。

4

4 に答える 4

7
var getSegment = function (url, index) {
   return url.replace(/^https?:\/\//, '').split('/')[index];
}

使用法:

getSegment("http://domain.com/a/b/c/d/e", 4); // "d" 

replace、プロトコルの後の最初の 2 つのスラッシュ (httpまたはhttps) がカウントされないようにします。

于 2012-07-28T18:44:15.473 に答える
2

特定のパス セグメントを取得する実際の例を次に示します。

コード:

var url = "www.test.com/one/two/three?p1=v&p2=v#anc";
var file = url.split('?')[0];
var pathanddomain = file.split('/');
var path = pathanddomain.splice(1, pathanddomain.length-1);
var pathIndexToGet = 2;
document.write(path[pathIndexToGet]);​

現在のページに対してこれを行う場合は、次を使用します。

var url = window.location.href;

また、URL が http(s):// で始まる場合は、これを削除する必要があります。

于 2012-07-28T18:43:24.880 に答える
0

私はお勧めします:

var link = 'http://www.example.com/directory1/directory2/directory3/directory4/index.html';

console.log(link.split('/')[5]);​

JS フィドルのデモ

[5]notを使用する理由は[4]、URL の先頭にある 2 つのスラッシュと、JavaScript 配列がゼロから始まるためです。

于 2012-07-28T18:47:19.927 に答える
0

質問を詳しく説明し、どのドメインがあなたのドメインであるかを指定する必要があります。つまり、その質問をする目的は何ですか??

これはあなたを助けるかもしれません:

var urlValue = url.split("/");

次に、urlValue を配列として格納します。次に、配列の urlvalue の 3 番目と 4 番目の値を取得します。

于 2012-07-28T18:53:12.263 に答える