C’è un modo per rimuovere tutto dopo un certo personaggio o semplicemente scegliere tutto fino a quel personaggio? Sto ottenendo il valore da un href e fino a “?”, E sarà sempre una quantità diversa di caratteri.
Come questo
/Controller/Action?id=11112&value=4444
Voglio che href sia /Controller/Action
solo, quindi voglio rimuovere tutto dopo il “?”.
Sto usando questo ora:
$('.Delete').click(function (e) { e.preventDefault(); var id = $(this).parents('tr:first').attr('id'); var url = $(this).attr('href'); console.log(url); }
var s = '/Controller/Action?id=11112&value=4444'; s = s.substring(0, s.indexOf('?')); document.write(s);
Prova qui
Modificare:
Dovrei anche menzionare che le funzioni di stringa native sono molto più veloci delle espressioni regolari, che dovrebbero essere utilizzate solo quando necessario (questo non è uno di quei casi).
2a modifica:
Codice aggiornato per l’account per no ‘?’:
var s = '/Controller/Action'; var n = s.indexOf('?'); s = s.substring(0, n != -1 ? n : s.length); document.write(s);
Puoi anche usare la funzione split()
. Questo sembra essere il più semplice che mi viene in mente :).
url.split('?')[0]
jsFiddle Demo
Un vantaggio è che questo metodo funzionerà anche se non c’è ?
nella stringa – restituirà l’intera stringa.
var href = "/Controller/Action?id=11112&value=4444"; href = href.replace(/\?.*/,''); href ; //# => /Controller/Action
Funzionerà se trova un ‘?’ e se così non fosse
var fromLeft = 8; var s = '/Verify/Action?id=11112&value=4444'; s = s.substring(fromLeft , s.indexOf('/')); alert(s);
L’output sarà /Verify/
Ha funzionato per me:
var first = regexLabelOut.replace(/,.*/g, "");
Se vuoi anche mantenere “?” e basta rimuovere tutto dopo quel particolare carattere, puoi fare:
var str = "/Controller/Action?id=11112&value=4444", stripped = str.substring(0, str.indexOf('?') + '?'.length); // output: /Controller/Action?
Può essere fatto facilmente utilizzando JavaScript come riferimento, vedi link JS String
EDIT può farlo facilmente come. 😉
var url="/Controller/Action?id=11112&value=4444 "; var parameter_Start_index=url.indexOf('?'); var action_URL = url.substring(0, parameter_Start_index); alert('action_URL : '+action_URL);