如何获取url的最后一个元素剥离不需要的字符?

时间:2015-02-04 02:23:28

标签: javascript jquery regex

我正在尝试捕获网址的最后一个元素,并删除任何不需要的字符,例如下面的

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只能有字母(大写与否)。

2 个答案:

答案 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' ];