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

使用javascript从URL中提取特定变量,javascript,regex,Javascript,Regex,如何使用javascript.match()在URL中获取access_token变量 非常感谢你的帮助 与Parth的解决方案相同,但没有拆分和稍微严格一点: var url = 'http://www.facebook.com/connect/login_success.html#access_token=pYBACn8NQeCAVWgiaFG4ZD&expires_in=0'; var token = url.split("#")[1].match(/access_token=([

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


非常感谢你的帮助

与Parth的解决方案相同,但没有拆分和稍微严格一点:

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];
var url = 'http://www.facebook.com/connect/login_success.html#access_token=pYBACn8NQeCAVWgiaFG4ZD&expires_in=0';
var token = url.match(/(?:#|#.+&)access_token=([^&]+)/)[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];

与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中不存在与Eugene相同的令牌,则返回null,但如果匹配失败,则不会引发异常

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

您必须使用javascript.match()获取该令牌,或者您可以接受其他建议?很抱歉造成混淆,我当然可以接受建议。.match()只是一个建议我正在研究:-)你需要所有这部分,对吗?Pybacn8nqecavggiafg4zd&expires_in=0或不带=0?您必须使用javascript.match()获得它,或者您可以接受其他建议?很抱歉造成混淆,我当然可以接受建议。.match()只是一个建议我正在研究:-)你需要所有这部分,对吗?Pybacn8nqecavggiafg4zd&expires_in=0或不带=0?出于好奇,这个表达式的片段到底暗示了什么“(?:#|###+&)”@Karl这是一个非捕获组,表示“#”或“#某物&”。我加入它是为了匹配“#access_token=”或“#a=b&c=d&access_token=”,而不是“&other_access_token=”,这很聪明。谢谢你给我解释。我不想在事先没有完全理解的情况下盲目地使用片段。出于好奇,这个表达片段到底暗示了什么“(?:#|##.+&)”@Karl这是一个非捕获组,意思是“#”或“#某物&”。我加入它是为了匹配“#access_token=”或“#a=b&c=d&access_token=”,而不是“&other_access_token=”,这很聪明。谢谢你给我解释。我不想在事先没有完全理解的情况下盲目地使用代码片段。