从facebook url中提取id值[重复]
Posted
技术标签:
【中文标题】从facebook url中提取id值[重复]【英文标题】:Extracting id value from a facebook url [duplicate] 【发布时间】:2018-01-27 21:06:10 【问题描述】:我想要一个 javascript 正则表达式从 facebook 个人资料 URL 中提取 id 的值。比如我有一个网址
https://www.facebook.com/profile.php?id=100004774025067
我只想提取 id=
之后的值,这只是数字 100004774025067
部分。
但在某些情况下,我需要帖子中的用户个人资料网址。例如,一个用户发布了一些东西,如果我得到了帖子的个人资料 url 链接,那么我会得到这样的链接:
https://www.facebook.com/profile.php?id=100001883994837&hc_ref=ART7eWRecFS8mMIio66GdaH378zlJMXzisnKubh5PtgINeVwTfOil5aBIyff71OamWA
如您所见,id
的值之后指定了一个附加参数。
我只需要获取id
的值,不管链接中还有什么。
【问题讨论】:
【参考方案1】:您可以将字符串用作 URL,并使用searchParams
提取id
参数:
无附加参数:
var fb_url = "https://www.facebook.com/profile.php?id=100004774025067";
var url = new URL(fb_url);
var uid = url.searchParams.get("id");
console.log(uid);
更多参数:
var fb_url = "https://www.facebook.com/profile.php?id=100004774025067&hc_ref=ART7eW";
var url = new URL(fb_url);
var uid = url.searchParams.get("id");
console.log(uid);
【讨论】:
谢谢你,这是一个完美的解决方案【参考方案2】:您可以通过以下方式进行操作
function getNumber(str)
console.log(str.match(/(?:id=)(\d+)/)[1]);
return str.match(/(?:id=)(\d+)/)[1];
getNumber('https://www.facebook.com/profile.php?id=100004774025067');
getNumber('https://www.facebook.com/profile.php?id=100001883994837&hc_ref=ART7eWRecFS8mMIio66GdaH378zlJMXzisnKubh5PtgINeVwTfOil5aBIyff71OamWA ');
匹配id后面的任意数字
【讨论】:
以上是关于从facebook url中提取id值[重复]的主要内容,如果未能解决你的问题,请参考以下文章
通过删除Laravel中的额外字符,从斜杠分隔的URL中提取参数值
如何在 Python 中使用 Regex 从 HTML <a> 标签中提取 Facebook 页面 URL?