jQuery получить последнюю часть URL
У меня есть ряд страниц, где мне нужно получить специальный код для кнопки. Я хочу поместить код, который находится в url, в переменную с jQuery.
пример URL www.example.com/folder/code/12345/
Я хочу получить числовую часть в переменной с именем (siteCode)
заранее спасибо за любые ответы.
в jQuery / псевдо код:
var siteCode;
// start function
function imageCode(){
siteCode // equals number part of URL
$('.button').attr('src', 'http:www.example.com/images/'+siteCode+'.jpg');
}
5 ответов
вы можете использовать следующий код, чтобы получить последнюю часть URL-адреса.:
var value = url.substring(url.lastIndexOf('/') + 1);
Я предлагаю:
var URI = 'www.example.com/folder/code/12345/',
parts = URI.split('/'),
lastPart = parts.pop() == '' ? parts[parts.length - 1] : parts.pop();
есть один лучший способ взять последнюю часть URL-адреса, как правило, используется в реальной реализации.
есть немного лазеек в ранее данном ответе было:
1.Подумайте, что, если есть url-адрес, например www.example.com/folder/code/12345
(без косой черты"/"), чем ни один из вышеприведенного кода не будет работать в соответствии с ожиданием.
2.Рассмотрим, если иерархия папок увеличивается, как www.example.com/folder/sub-folder/sub-sub-folder/code/12345
$(function () {
siteCode = getLastPartOfUrl('www.example.com/folder/code/12345/');
});
var getLastPartOfUrl =function($url) {
var url = $url;
var urlsplit = url.split("/");
var lastpart = urlsplit[urlsplit.length-1];
if(lastpart==='')
{
lastpart = urlsplit[urlsplit.length-2];
}
return lastpart;
}
также попробуйте использовать выражение
var url = "www.example.com/folder/code/12345";
var checkExt = /\d$/i.test(url);
if (checkExt) {
alert("Yup its a numeric");
} else {
alert("Nope");
}