繁体   English   中英

如何获得字符串的一部分?

[英]How to get part of string?

我请求一个oAuth请求令牌,并通过访问一个特殊的URL来完成。 这个请求的结果(页面的内容)是这个,我怎样才能得到这个的auth_token?

oauth_token=TBFdNoytaizrfMAWNZ6feqssNz3BsozHk5AesIioX8u8Ec&oauth_token_secret=DtQ3jiUIe33VdRcBAKwVQJRWpgKtEHi3m1yl3k0nlsHCBj0&oauth_callback_confirmed=true

您可以这样找到它:

var string = 'oauth_token=TBFdNoytaizrfMAWNZ6feqssNz3BsozHk5AesIioX8u8Ec&oauth_token_secret=DtQ3jiUIe33VdRcBAKwVQJRWpgKtEHi3m1yl3k0nlsHCBj0&oauth_callback_confirmed=true';

var match = /oauth_token=([^&]*)/.exec(string);
if(match)
{
    var oauth_token = match[1];
}

我也不认为在这里显示您的oauth_token_secret是个好主意,因为我认为只有您应该知道这个秘密,对吗?

var oAuth = /auth_token=(.*?)&/.exec( str )[1];
 // token param + value
 var tokenParam = ostr.split("&")[0];

 // only token value
 var tokenValue = tokenParam.split("=")[1];

请求的结果与查询字符串的格式相同。 可以使用常见的JS函数进行解析。

var str = "oauth_token=TBFdNoytaizrfMAWNZ6feqssNz3BsozHk5AesIioX8u8Ec&oauth_token_secret=DtQ3jiUIe33VdRcBAKwVQJRWpgKtEHi3m1yl3k0nlsHCBj0&oauth_callback_confirmed=true";

var auth_token = getQueryVariable("oauth_token", str);
console.log(auth_token);

function getQueryVariable(variable, query) {
    if (!query) query = window.location.search.substring(1);
    var vars = query.split('&');
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split('=');
        if (decodeURIComponent(pair[0]) == variable) {
            return decodeURIComponent(pair[1]);
        }
    }
    console.log('Query variable %s not found', variable);
}​

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM