Remova a cadeia de URL

2ª atualização:. Na tentativa de dar uma resposta integral, sou uma avaliação comparativa dos três métodos propostos nas respostas diferentes

var testURL = '/Products/List?SortDirection=dsc&Sort=price&Page=3&Page2=3';var i;// Testing the substring methodi = 0;console.time('10k substring');while (i < 10000) { testURL.substring(0, testURL.indexOf('?')); i++;}console.timeEnd('10k substring');// Testing the split methodi = 0;console.time('10k split');while (i < 10000) { testURL.split('?'); i++;}console.timeEnd('10k split');// Testing the RegEx methodi = 0;var re = new RegExp("+");console.time('10k regex');while (i < 10000) { testURL.match(re); i++;}console.timeEnd('10k regex');

Os resultados no Firefox 3.5.8 em Mac OS X 10.6.2:

10k substring: 16ms10k split: 25ms10k regex: 44ms

os resultados no Chrome 5.0.307.11 no Mac OS X 10.6.2:

10k substring: 14ms10k split: 20ms10k regex: 15ms

Observe que o método subcadena é menor na funcionalidade que retorna uma corrente em branco se o URL não contiver uma string de consulta. Os outros dois métodos retornariam o URL completo, conforme o esperado. No entanto, é interessante notar que o método do subcadeno é o mais rápido, especialmente no firefox.

primeira atualização: na verdade, o método split () sugerido por robusto é uma solução melhor do que a que sugeriu anteriormente, pois funcionará mesmo quando não há seqüência de consulta:

Original Resposta:

var testURL = '/Products/List?SortDirection=dsc&Sort=price&Page=3&Page2=3';testURL.substring(0, testURL.indexOf('?')); // Returns: "/Products/List"

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *