2012-02-09 2 views
0

У меня есть URL-адрес, который будет последователен в этом формате:захватить слово в URL-адресе, используя jquery?

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

мне нужно, чтобы захватить «SOMETHINGHERE» после темы/и использовать его в качестве переменной. Я могу получить текущий URL:

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

, но не знаете, как цель и получить только «SOMETHINGHERE» часть?

ответ

0

Разделить гиперссылка на части на основе косых черт, а затем удалить .html с конца последней части URL:

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

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

Если вы можете полагаться на структуру URL, вы можете использовать регулярное выражение:

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

Чтобы избежать бросали ошибки на страницах, которые не соответствуют этому URL-шаблон, вы можете использовать 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, поскольку вам вообще не нужна схема или доменное имя.

Смежные вопросы