如何从此URL获取ID?

时间:2016-01-02 14:02:14

标签: javascript

我需要一种方法来获取此页面的ID(本例中为153752044713801):

https://www.facebook.com/pages/%D8%A7%D9%84%D8%B4%D8%B1%D8%A7%D8%A8%D9%8A%D8%A9/153752044713801

我尝试了这段代码但是没有用:

var str = 0, pagefb = 0;
var fburl = 'https://www.facebook.com/pages/%D8%A7%D9%84%D8%B4%D8%B1%D8%A7%D8%A8%D9%8A%D8%A9/153752044713801';

var re1 = /^(.+)facebook\.com\/pages\/([-\w\.]+)\/([-\w\.]+)/;

if(re1.exec(fburl)){
   str = re1.exec(fburl)[3]; 
   pagefb = str.substr(str.lastIndexOf("-") + 1);
   alert('ok');
}

4 个答案:

答案 0 :(得分:1)

尝试:

var fburl = 'https://www.facebook.com/pages/%D8%A7%D9%84%D8%B4%D8%B1%D8%A7%D8%A8%D9%8A%D8%A9/153752044713801';
var parts = fburl.split("/");
var myId = parts[parts.length-1];
alert(myId);

答案 1 :(得分:0)

试试this正则表达式:^(.+)facebook\.com\/pages\/.*\/(\d*)

(在JavaScript中,您必须像以前一样在模式的开头和结尾添加“/”)

答案 2 :(得分:0)

您可以使用.split("/")拆分字符串。有关MDN

的更多信息
var fburl = 'https://www.facebook.com/pages/%D8%A7%D9%84%D8%B4%D8%B1%D8%A7%D8%A8%D9%8A%D8%A9/153752044713801';

var parts = fburl.split('/')
var myFacebookId = parts[parts.length - 1]

基本上它返回一个字符串数组,分成多个部分(放在括号内的字符/ s)。 parts[parts.length - 1]将获取数组parts

中的最后一项

下面的演示(不要担心document...,他们只是打印出数据):



var fburl = 'https://www.facebook.com/pages/%D8%A7%D9%84%D8%B4%D8%B1%D8%A7%D8%A8%D9%8A%D8%A9/153752044713‌​801/?ref=sfhsidufh';

var parts = fburl.split('/')
var myFacebookId = parts[parts.length - 1]

// If first digit is ?
if (myFacebookId[0] == '?') {
    // Set myFacebookId to the second from last part
    myFacebookId = parts[parts.length - 2]
}

document.write('MyFacebookId: ' + myFacebookId)




答案 3 :(得分:0)

这对我有用

the_ID