从 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_id 和 list_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。
我有一个这样的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_id 和 list_id。
所以我所做的是
var a = parseInt("http://localhost/gtwhero/public/users/13/subscribers-lists/30/subscribers");
但结果我得到了 -
NaN
所以,我认为必须有另一种方法来获取这两个整数。
有人可以帮忙吗?
parseInt
在这种情况下不起作用,它将始终 return NaN
因为您的字符串包含字母。
您需要使用正则表达式从 URL
中提取用户 IDvar 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。