使用javascript从URL中提取特定变量

时间:2012-05-27 06:06:34

标签: javascript regex

如何使用javascript .match()?

在我的网址中获取access_token变量
http://www.facebook.com/connect/login_success.html#access_token=pYBACn8NQeCAVWgiaFG4ZD&expires_in=0

非常感谢你的帮助!

3 个答案:

答案 0 :(得分: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];

答案 1 :(得分: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];

答案 2 :(得分:1)

与Eugene相同,但如果匹配失败则不会抛出异常

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