从url字符串中获取ID

时间:2016-07-08 17:39:49

标签: javascript jquery regex url

从URL获取ID的最安全的方法是什么:

http://www.website.abc.net/fixed/27386323

所以我会尝试拆分字符串并采取最后一部分:

var parts = url.split("/");
var id = parts[parts.length - 1];

如果用户键入:

,它也会起作用
www.website.abc.net/fixed/27386323

但如果网址为(最后一次斜线)

,它就不会起作用
http://www.website.abc.net/fixed/27386323/

那么正则表达式会更好吗?或者我应该使用JQuery吗?

3 个答案:

答案 0 :(得分:2)

您还可以使用正则表达式.match

([^\/]+)\/?$

并抓住被捕获的组#1。 /?$在此正则表达式中使尾随斜杠可选。

RegEx Demo

答案 1 :(得分:1)

您可以删除网址末尾的任何尾部斜杠,然后使用您当前正在执行的相同方法。这样它可以在两种情况下使用(带或不带斜杠)。

cp filename_0{1:4} new_dir/

示例:https://jsfiddle.net/879moj9m/1/

答案 2 :(得分:0)

你可以简单地修剪任何尾部斜线:

if(url.substr(-1) === "/") {
    url = url.substr(0, str.length - 1);
}

然后检查id。

var parts = url.split("/");
var id = parts[parts.length - 1];