0

如何使用 javascript .match() 在我的 URL 中获取 access_token 变量?

http://www.facebook.com/connect/login_success.html#access_token=pYBACn8NQeCAVWgiaFG4ZD&expires_in=0

非常感谢你的帮助!

4

3 回答 3

2
var url = 'http://www.facebook.com/connect/login_success.html#access_token=pYBACn8NQeCAVWgiaFG4ZD&expires_in=0';
var token = url.split("#")[1].match(/access_token=([^&]+)/)[1];
于 2012-05-27T06:12:25.567 回答
1

与 Parth 的解决方案相同,但没有拆分并且更严格:

var url = 'http://www.facebook.com/connect/login_success.html#access_token=pYBACn8NQeCAVWgiaFG4ZD&expires_in=0';
var token = url.match(/(?:#|#.+&)access_token=([^&]+)/)[1];
于 2012-05-27T10:06:51.817 回答
1

与尤金的相同,但如果匹配失败不会抛出异常

var url = 'http://www.facebook.com/connect/login_success.html#access_token=pYBACn8NQeCAVWgiaFG4ZD&expires_in=0';
var token = (url.match(/(?:#|#.+&)access_token=([^&]+)/) || ['', null])[1];

如果 URL 中不存在令牌,则返回 null

于 2012-05-27T10:21:03.203 回答