JavaScript:在第n次斜杠后剪切URL

时间:2013-01-06 13:45:54

标签: javascript jquery

我有像

这样的网址
http://www.domain.com/dir/dir2/dir3/dir4/#tag

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

现在我需要只获取url直到dir3并且之后没有任何内容...(或者«直到弦乐器中的第六个斜线所有内容»)

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

如何通过JavaScript实现这一目标?

2 个答案:

答案 0 :(得分: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('/'));
}

答案 1 :(得分: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")