我有像
这样的网址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实现这一目标?
答案 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")
。