3

私は次のようなURLを持っています

http://www.domain.com/dir/dir2/dir3/dir4/#tag

また

http://www.domain.com/dir/dir2/dir3/dir4

ここで、dir3までのURLのみを取得し、それ以降は何も取得する必要がありません…(または«文字列の6番目のスラッシュまでのすべて»)

http://www.domain.com/dir/dir2/dir3/

これをJavaScriptでどのように実現できますか?

4

2 に答える 2

6

これを試して:

'http://www.domain.com/dir/dir2/dir3/dir4/#tag'
  .split('/')
  .slice(0,6).join('/'));
 //=> http://www.domain.com/dir/dir2/dir3

またはヘルパー関数:

function cutUrl(url,n){
    return url.split('/').slice(0,n).join('/'));
}
于 2013-01-06T13:50:23.677 に答える
4

ここではjQueryは必要ありません。JavaScriptは正規表現をサポートしています。

"http://www.domain.com/dir/dir2/dir3/dir4".match(/([^/]*\/){6}/)[0]

より安全な方法は(パターンが一致しない場合):

function cutUrl(str) {
    var matched = str.match(/([^/]*\/){6}/);
    return matched ? matched[0] : str/* or null if you wish */;
}

次に、を呼び出しますcutUrl("http://www.domain.com/dir/dir2/dir3/dir4")

于 2013-01-06T13:52:32.990 に答える