我需要使用javascript隔离字符串中的id。我已经设法到达我获取id的部分,但后来我希望能够将字符串的其余部分串起来,以便它只留下如下的id号:
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之后删除所有内容。
谢谢大家。
答案 0 :(得分:2)
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];
(...)
答案 1 :(得分:0)
你可以试试这个:
var blogIdStr = urlString.replace(/(.*\/blogid\/\d+).*/, "$1")
答案 2 :(得分:0)
这是一种罕见的情况,其中正则表达式既简单又易于理解:
var matches = urlString.match(/\/blogid\/(\d+)\//);
if (matches) {
var id = matches[1];
}
或者,如果您不担心错误:
var id = urlString.match(/\/blogid\/(\d+)\//)[1];