使用jquery抓住网址中的单词?

时间:2012-02-09 13:53:55

标签: jquery string

我有一个以这种格式保持一致的网址:

http://www.name.com/heart/game/2012/topics/SOMETHINGHERE.html

我需要在主题之后抓住'SOMETHINGHERE'并将其用作变量。我可以获得当前的网址:

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

但不确定如何定位并获得“SOMETHINGHERE”部分?

2 个答案:

答案 0 :(得分:0)

根据斜杠将网址拆分为多个部分,然后从网址最后一部分的末尾删除.html:

var currentUrl = $(location).attr('href');
var urlParts = currentUrl.split( "/" );

var something = urlParts[urlParts.length-1].substr( 0, urlParts[urlParts.length-1].lastIndexOf( ".html" ) );

答案 1 :(得分:0)

如果您可以依赖URL结构,则可以使用正则表达式:

var pathname = location.pathname; // '/heart/game/2012/topics/SOMETHINGHERE.html'
pathname.match(/\/topics\/([a-zA-Z0-9]+)\.html/)[1]; // 'SOMETHINGHERE'

为避免在与此网址格式不匹配的网页上出现错误,您可以使用the .match() trick

var pathname = location.pathname; // '/some/url/that/doesnt/match/this/pattern.html'
(pathname.match(/\/topics\/([a-zA-Z0-9]+)\.html/) || [, ''])[1]; // ''

请注意,您不应使用$(location).attr('href') - 而是使用location.href。在这种情况下,我会使用location.pathname,因为您根本不需要方案或域名。