2011-07-25 41 views
1

我试图找到一种快速的方法来得到这样一个URL ID在JavaScript或jQuery的?请告诉我得到用不同的方式URL的ID的最佳方式?

https://plus.google.com/115025207826515678661/posts 
https://plus.google.com/115025207826515678661/ 
https://plus.google.com/115025207826515678661 
http://plus.google.com/115025207826515678661/posts 
http://plus.google.com/115025207826515678661/ 
http://plus.google.com/115025207826515678661 
plus.google.com/115025207826515678661/posts 
plus.google.com/115025207826515678661/ 
plus.google.com/115025207826515678661 

只想得到115025207826515678661从URL

有没有一种肯定的方式总是得到ID,无论其类型化的方式吗?

+0

是ID总是相同的长度? – EnexoOnoma

回答

1

你可以使用这个JavaScript这对你发布的URL的工作原理:

var url, patt, matches, id; 

url = 'https://plus.google.com/115025207826515678661/posts'; 
patt = /\/(\d+)(?:\/|$)/ 
matches = patt.exec(url); 
id = matches[1]; 
1

使用下面的正则表达式来提取值:

\/([0-9]+)\/? 

在测试了所有输入的字符串,它的工作在每个。 第一和唯一的小组将有多少你正在寻找

0
var pos=url.indexOf('com'). 
var str1=url.substr(pos+3,21); 

如果21不是恒定的,然后就检查indexOf('/')在SUBSTR:

var pos=url.indexOf('com'). 
var str1=url.substr(pos+3); 
pos=str1.indexOf('/'); 
var str2=str1.substr(0,pos); 
alert(str2); 

,或者使用一些魔法的正则表达式作为写在一个不同的答案在这里。

0

我相信你可以创建一个新的字符串,并通过URL字符串然后循环,任何号码复制到新的字符串,特别是如果网址永远不会有其他数字字符。

基本上,所有剥离但数字字符。