我有像这样的网址
http://www.domain.com/dir/dir2/dir3/dir4/#tag
或者
http://www.domain.com/dir/dir2/dir3/dir4
现在我只需要获取 dir3 之前的 url,之后什么都不需要……(或«字符串中第六个斜杠之前的所有内容»)
http://www.domain.com/dir/dir2/dir3/
这怎么能用 JavaScript 来完成呢?
我有像这样的网址
http://www.domain.com/dir/dir2/dir3/dir4/#tag
或者
http://www.domain.com/dir/dir2/dir3/dir4
现在我只需要获取 dir3 之前的 url,之后什么都不需要……(或«字符串中第六个斜杠之前的所有内容»)
http://www.domain.com/dir/dir2/dir3/
这怎么能用 JavaScript 来完成呢?
尝试这个:
'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('/'));
}
这里不需要 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")
。