jak wydobyć ostatnią wartość, która wynosi 1 z następującego adresu URL przy użyciu jQuery ...jak wydobyć ostatnią wartość w adresie URL przy użyciu jQuery
Url: /FormBuilder/index.php/reports/export/1
jak wydobyć ostatnią wartość, która wynosi 1 z następującego adresu URL przy użyciu jQuery ...jak wydobyć ostatnią wartość w adresie URL przy użyciu jQuery
Url: /FormBuilder/index.php/reports/export/1
można użyć substring i lastIndexOf:
var value = url.substring(url.lastIndexOf('/') + 1);
Jeśli drugi parametr substring zostanie pominięty, wyodrębnia znaki na końcu łańcucha.
var arr = window.location.split("/FormBuilder/index.php/reports/export/1");
var last_val = arr[arr.length-1];
Podział wymaga parametru. http://www.w3schools.com/jsref/jsref_split.asp –
Dlaczego nie stosować wyrażeń regularnych?
var p = /.+\/([^\/]+)/;
var match = p.exec(str)
alert(match[1]);
Niezupełnie jQuery, ale czysty JavaScript:
var a = '/test/foo/bar';
Aby uzyskać ciąg po ostatnim znaku:
var result = a.substring(a.lastIndexOf("/") + 1);
Jak widać wszystkie odpowiedzi JQuery ISN” t potrzebne do tego.
Można je podzielić:
var url = 'www.google.com/dir1/dir2/2';
var id = parseInt(url.split('/')[url.split('/').length - 1]);
Korzystanie regex, który jest podobnie jak metody lastIndexOf
, ale z dodatkową korzyścią jest prawie niemożliwy do odczytu/zrozumieć! ;)
var lastBit = theUrl.match(/[^\/]*$/)[0];
Tam faktycznie jest korzyścią jednak, jeśli tylko chciał, aby uzyskać końcowe numery, albo jakiś inny wzór można go przystosować:
// 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;
Aby dostać go z adresem URL:
var value = window.location.href.substring(window.location.href.lastIndexOf('/') + 1);
Uniwersalny:
function getQueryVariable(variable)
{
var pathname = window.location.pathname.split("/");
for (i = 0; i < pathname.length; i++) {
if (pathname[i] == variable){
return pathname[i+1];
}
}
}
5 sekund! Ty podstępny Gwatemalczyk :) –
@Andy: LOL dokładnie 5 sekund, to było naprawdę blisko! – CMS