从以不同方式编写的URL获取id的最佳方法是什么?

时间:2011-07-25 00:10:55

标签: javascript jquery html xhtml

我正在尝试通过javascript或jquery快速找到这样的网址中的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

有没有一种确定的方法可以随时获取ID,无论其输入方式如何?

4 个答案:

答案 0 :(得分:1)

使用以下正则表达式提取值:

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

测试了所有输入字符串,并且每个输入字符串都有效。 第一个也是唯一一个组将拥有您正在寻找的号码

答案 1 :(得分:1)

你可以使用这个javascript,它适用于你发布的所有网址:

var url, patt, matches, id;

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

答案 2 :(得分:0)

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

如果21不是常数,那么只需检查substr中的indexOf('/')

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

或者,使用一些regexp魔法,就像在这里用不同的答案写的那样。

答案 3 :(得分:0)

我相信您可以创建一个新字符串,然后循环遍历URL字符串,并将任何数字复制到新字符串中,尤其是如果URL永远不会有其他数字字符。

基本上,剥去除数字字符以外的所有字符。