как извлечь последнее значение, которое является 1 из следующего URL, используя jQuery...
URL:/FormBuilder/index.php/reports/export/1
как извлечь последнее значение, которое является 1 из следующего URL, используя jQuery...
URL:/FormBuilder/index.php/reports/export/1
Вы можете использовать substring и lastIndexOf:
var value = url.substring(url.lastIndexOf('/') + 1);
Если второй параметр substring опущен, он извлекает символы в конец строки.
Чтобы получить его из URL-адреса:
var value = window.location.href.substring(window.location.href.lastIndexOf('/') + 1);
Не совсем jQuery, но чистый Javascript:
var a = '/test/foo/bar';
Чтобы получить строку после последнего символа:
var result = a.substring(a.lastIndexOf("/") + 1);
Использование регулярного выражения, которое подобно методу 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;
Как вы можете видеть из всех ответов, JQuery не требуется для этого.
Вы можете разбить его:
var url = 'www.google.com/dir1/dir2/2';
var id = parseInt(url.split('/')[url.split('/').length - 1]);
Почему бы не использовать регулярное выражение?
var p = /.+\/([^\/]+)/;
var match = p.exec(str)
alert(match[1]);
var arr = window.location.split("/FormBuilder/index.php/reports/export/1");
var last_val = arr[arr.length-1];
Универсальный:
function getQueryVariable(variable)
{
var pathname = window.location.pathname.split("/");
for (i = 0; i < pathname.length; i++) {
if (pathname[i] == variable){
return pathname[i+1];
}
}
}