4

使用以下 URL 示例,我将如何从中获取用户名?

http://www.mysite.com/username_here801

正则表达式解决方案会很酷。

以下示例仅获取域名:

  var url = $(location).attr('href');

  alert(get_domain(url));

  function get_domain(url) {
    return url.match(/http:\/\/.*?\//);
  }

jQuery 解决方案也是可以接受的。

4

4 回答 4

7
var url = "http://www.mysite.com/username_here801";    
var username = url.match(/username_(.+)/)[1];

http://jsfiddle.net/5LHFd/

要始终在 .com 后面的斜杠之后直接返回文本,您可以这样做:

var url = "http://www.mysite.com/username_here801";
var urlsplit = url.split("/");
var username = urlsplit[3];

http://jsfiddle.net/5LHFd/2/

于 2012-04-24T21:11:50.850 回答
4

您可以使用它访问它document.location.pathname

于 2012-04-24T21:08:08.013 回答
1

如果 RegEx 解决方案可以接受,您可以尝试:

function get_path(url) {
    // following regex extracts the path from URL
    return url.replace(/^https?:\/\/[^\/]+\//i, "").replace(/\/$/, "");
}
于 2012-04-24T21:10:56.950 回答
0

您可以使用您的 getDomain() 函数来找出您的路径名开始的位置。:

function getUsername(url){
   var position = getDomain(url).length + 1;
   return url.slice(position); 
}
于 2012-04-24T21:46:30.460 回答