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

时间:2012-09-02 18:59:52

标签: javascript

我请求oAuth请求令牌,我通过访问特殊URL来实现。此请求的结果(页面内容)是这样的,我如何获得auth_token表单?

oauth_token=TBFdNoytaizrfMAWNZ6feqssNz3BsozHk5AesIioX8u8Ec&oauth_token_secret=DtQ3jiUIe33VdRcBAKwVQJRWpgKtEHi3m1yl3k0nlsHCBj0&oauth_callback_confirmed=true

4 个答案:

答案 0 :(得分:1)

你可以这样找到:

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并不是一个好主意,因为我认为只有你应该知道这个秘密,对吗?

答案 1 :(得分:1)

var oAuth = /auth_token=(.*?)&/.exec( str )[1];

答案 2 :(得分:1)

 // token param + value
 var tokenParam = ostr.split("&")[0];

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

答案 3 :(得分: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);
}​