在我的Rails应用程序的JavaScript函数中,我正在尝试获取配方的ID。查看像这样的事件对象
e.delegateTarget.baseURI
生成uri,其中最后一个数字(在正斜杠之后)是我想要的id。
http://myroute.com/users/2/recipes/6
当然,将来这个id可能要长得多,所以我需要能够在最后一个正斜杠之后得到所有数字。
我试图以这种方式获得最后一个ID
var uri = e.delegateTarget.baseURI
var re = /^(.*[\\\/\d])/;
var recipe_id = uri.match(re);
匹配的斜杠应该是最后一个因为。*匹配贪婪,然后我寻找任何数字。这都错了。我对正则表达式不太熟悉。你能帮忙吗?
答案 0 :(得分:1)
一种非常简单的方法是使用string.split()
var uri = "http://myroute.com/users/2/recipes/6",
splituri = uri.split('/');
recipe_id = splituri[splituri.length - 1] // access the last index
编辑:
使用.pop()方法更容易,该方法返回弹出值
像elclanrs说的那样。var uri = e.delegateTarget.baseURI,
recipe_id = uri.split('/').pop();
答案 1 :(得分:1)
您应该使用特殊字符$
,这意味着输入结束:
re = /\d+$/; //matches one or more digits from the end of the input
Here是JavaScript正则表达式的优秀资源。