2012-07-16 20 views

Respuesta

3

Puede utilizar esta sencilla expresión regular:

yourUrl.replace(/\?.+/, '') 

reomve() es para DOM cosas.

4

probar este fragmento:

var url = "http://www.somexample.com?a=b&c=2&d=3"; 
url = url.substring(0 , url.indexOf('?')+1); 
+0

¿Podría ser posible si puedo agregar algo más que '?', Decir que comprobará '?' U otra letra como '&'? – hellomello

+0

esto siempre coincidirá con el primer signo de interrogación en la url – amd

+0

me preguntaba si en reemplazo no hay '?' Y en su lugar es un '&' en su lugar. Me preguntaba si es posible hacer algo como 'url.indexOf ('?', '&') + 1)' – hellomello

9

Desde la url es controlada por el navegador cuando se cambia la url de la página se recargará. Aún así para lo que quiere hacer, en las páginas en las que no necesita la materia después del tipo ? marca ..

window.location = "http://www.mysite.com" //or whatever your site url is 

Para hacer dinámicamente ello se puede utilizar la función de abajo y luego usar window.location

function getPathFromUrl(url) { 
    return url.split("?")[0]; 
} 

Nota: Cuando cambie la url, la página se actualizará.

+0

Una cosa a tener en cuenta (incluso si la respuesta es correcta): sí, es válido tener más de un signo de interrogación en una URL, consulte http://stackoverflow.com/questions/2924160/is-it-valid-to-have-more-than-one-question-mark-in-a-url así que si quiere el resto de la cadena de url, no puede "solo" usar 'url.split ("? ") [1];' –

+0

Por cierto, la solución para obtener el resto de la cadena de url (que contiene todos los parámetros) sería: ' url.substring (url.indexOf ('?') + 1); ' –

+0

aquí hay una demostración en vivo rápida http://jsbin.com/xikufatohi/1/edit?js,console –

Cuestiones relacionadas