我正在尝试捕获网址的最后一个元素,并删除任何不需要的字符,例如下面的
http://www.myurl.com/abcs/der/er/..../asdsad/hrllo.shtml#header?query=whatever& ....
来自上面的URl,例如,我只需要 hrllo
var search_param = $(location).attr("href").split('/').pop().replace('#', '');
我想也许是正则表达式?文本hrllo只能有字母(大写与否)。
答案 0 :(得分:2)
如果您的查询字符串包含点或斜杠,则应首先将其删除。
str.slice(0,str.indexOf('?'));
否则,这个就足够了。
str.slice(str.lastIndexOf('/')+1,str.lastIndexOf('.'));
答案 1 :(得分:1)
尝试将其拆分为哈希,就像这样(demo):
var url = [
"http://www.myurl.com/abcs/der/er/.../asdsad/hrllo1.shtml#header?query=whatever&....",
"http://www.myurl.com/abcs/der/er/.../asdsad/hrllo2.shtml?query=whatever",
"http://www.myurl.com/abcs/der/er/..../asdsad/hrllo3.shtml",
"http://myurl.com/index3.html#query=twitter.com/search"
],
i, left, index, page = [];
for (i = 0; i < url.length; i++) {
left = url[i].split(/[#?]/g)[0];
index = left.lastIndexOf('/') + 1;
page.push(left.slice(index));
}
// result: page = [ 'hrllo1.shtml', 'hrllo2.shtml', 'hrllo3.shtml' ];