Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何剥离查询字符串的最后一部分_Javascript_Substring_Indexof - Fatal编程技术网

Javascript 如何剥离查询字符串的最后一部分

Javascript 如何剥离查询字符串的最后一部分,javascript,substring,indexof,Javascript,Substring,Indexof,我需要使用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

我需要使用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小时后脱光所有东西

谢谢大家

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") 

这是一种罕见的情况,其中regexp既简单又易于理解:

var matches = urlString.match(/\/blogid\/(\d+)\//);
if (matches) {
    var id = matches[1];
}
或者,如果您不担心错误:

var id = urlString.match(/\/blogid\/(\d+)\//)[1];

您是否尝试过用“/”分隔符拆分字符串?尝试使用string.split(“/”)并对rest使用数组操作(你一定是在开玩笑!)谢谢你,马丁!编辑我的答案以便更好地理解。^^@其他答案:我同意regexp的威力,尽管对于regexp经验不足的程序员(如我),上述内容更具可读性,并且可以直接追踪。此外,在调试时,您将看到字符串“blogid”出现两次,从而创建了一个包含3个字段的tempArray。谈论贪婪与否搜索。如果你希望数字是十进制的,你应该始终使用parseInt(x,10),否则你可能会以十六进制/十月结束。谢谢Martin,我会把它留到下一个雨天!令人惊叹的!