Как извлечь последнее значение в URL с помощью JQuery

как извлечь последнее значение, которое является 1 из следующего URL, используя jQuery...

URL:/FormBuilder/index.php/reports/export/1

Ответ 1

Вы можете использовать substring и lastIndexOf:

var value = url.substring(url.lastIndexOf('/') + 1);

Если второй параметр substring опущен, он извлекает символы в конец строки.

Ответ 2

Чтобы получить его из URL-адреса:

var value = window.location.href.substring(window.location.href.lastIndexOf('/') + 1);

Ответ 3

Не совсем jQuery, но чистый Javascript:

var a = '/test/foo/bar';

Чтобы получить строку после последнего символа:

var result = a.substring(a.lastIndexOf("/") + 1);

Ответ 4

Использование регулярного выражения, которое подобно методу lastIndexOf, но с дополнительным преимуществом почти невозможно читать/понимать! ;)

var lastBit = theUrl.match(/[^\/]*$/)[0];

На самом деле это преимущество, но если вы хотите получить только конечные числа или какой-либо другой шаблон, вы можете его адаптировать:

// match "/abc/123", not "/abc/foo"
var lastDigits = theUrl.match(/[0-9]*$/)[0];

// match "/abc/Pie", not "/abc/123"
var matches = theUrl.match(/\/(P[^\/]*)$/);
var lastBitWhichStartsWithTheLetterP = matches ? matches[1] : null;

Ответ 5

Как вы можете видеть из всех ответов, JQuery не требуется для этого.

Вы можете разбить его:

var url = 'www.google.com/dir1/dir2/2';
var id = parseInt(url.split('/')[url.split('/').length - 1]);

Ответ 6

Почему бы не использовать регулярное выражение?

var p = /.+\/([^\/]+)/;
var match = p.exec(str)
alert(match[1]);

Ответ 7

var arr = window.location.split("/FormBuilder/index.php/reports/export/1");
var last_val = arr[arr.length-1];

Ответ 8

Универсальный:

function getQueryVariable(variable)
{
    var pathname = window.location.pathname.split("/");

    for (i = 0; i < pathname.length; i++) {
        if (pathname[i] == variable){
            return pathname[i+1];
        }
    }

}