Как раздеть последнюю часть строки запроса
-
27-09-2019 - |
Вопрос
Мне нужно изолировать идентификатор в строке с помощью JavaScript. Мне удалось добраться до части, где я добираюсь до удостоверения личности, но тогда я хочу иметь возможность наносить остаток строки, чтобы она оставляет только идентификационный номер, такой как это:
var urlString = "http://mysite.co.za/wine/wine-blog/blogid/24/parentblogid/15.aspx";
// if the blogid is found in the url string
if (urlString.indexOf("blogid") != -1) {
alert("blogid id found");
// we strip the string to isolate the blogid
url = urlString.substring(urlString.indexOf("blogid") + 7);
//alert("url : " + url)
blogId = url.substring(0, urlString.indexOf("/"));
alert("blogId : " + blogId)
}
Мне нужно быть в состоянии прокрутить все после 24.
Спасибо всем.
Решение
var tempString = urlString.Split("blogid")[1];
var blogIdStr = tempString.Split("/")[1];
Для целого числа:
var blogId = parseInt(blogIdStr);
редактировать:
Длинная форма была бы:
var tempArray = urlString.Split("blogid");
// try:
// alert(tempArray, tempArray.length);
var tempString = tempArray[1];
(...)
Другие советы
Вы можете попробовать это:
var blogIdStr = urlString.replace(/(.*\/blogid\/\d+).*/, "$1")
Это один из тех редких случаев, когда регентэксп является проще, и легче понять:
var matches = urlString.match(/\/blogid\/(\d+)\//);
if (matches) {
var id = matches[1];
}
Или, если вы не беспокоитесь об ошибках:
var id = urlString.match(/\/blogid\/(\d+)\//)[1];
Не связан с StackOverflow