从 Javascript 中的 URL 获取整数

Get integer from a URL in Javascript

我有一个这样的URL-

http‍://localhost/gtwhero/public/users/13/subscribers-lists/30/subscribers

所以它的格式是这样的-

http‍://localhost/gtwhero/public/users/{user_id}/subscribers-lists/{list_id}/subscribers

我想从 URL 中获取 user_idlist_id

所以我所做的是

var a = parseInt("http://localhost/gtwhero/public/users/13/subscribers-lists/30/subscribers");

但结果我得到了 -

NaN

所以,我认为必须有另一种方法来获取这两个整数。

有人可以帮忙吗?

parseInt 在这种情况下不起作用,它将始终 return NaN 因为您的字符串包含字母。

您需要使用正则表达式从 URL

中提取用户 ID

var url = 'http://localhost/gtwhero/public/users/13/subscribers-lists/30/subscribers';
var data = (url.match(/(\d+)/g) || []);

var userId = data[0],
  listId = data[1];

document.write("userId " + userId);
document.write("<br />listId " + listId);

注意:这仅适用于上面显示的 URLs,如果 URL 包含其他数字,则需要正确使用它来提取预期的 ids。