I have a URL like http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235
.
I want to get the URL without the query string: http://localhost/dms/mduserSecurity/UIL/index.php
.
Is there any method for this in JavaScript? Currently I am using document.location.href
, but it returns the complete URL.
Try this: window.location.href.split('?')[0]
Read about Window.location
and the Location
interface:
var url = [location.protocol, '//', location.host, location.pathname].join('');
location.toString().replace(location.search, "")
var url = window.location.origin + window.location.pathname;
If you also want to remove hash, try this one: window.location.href.split(/[?#]/)[0]
Try:
document.location.protocol + '//' +
document.location.host +
document.location.pathname;
(NB: .host
rather than .hostname
so that the port gets included too, if necessary)
just cut the string using split (the easy way):
var myString = "http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu=true&pcode=1235"
var mySplitResult = myString.split("?");
alert(mySplitResult[0]);
To get every part of the URL except for the query:
var url = (location.origin).concat(location.pathname).concat(location.hash);
Note that this includes the hash as well, if there is one (I'm aware there's no hash in your example URL, but I included that aspect for completeness). To eliminate the hash, simply exclude .concat(location.hash)
.
It's better practice to use concat
to join Javascript strings together (rather than +
): in some situations it avoids problems such as type confusion.
Here are two methods:
<script type="text/javascript">
var s="http://localhost/dms/mduserSecurity/UIL/index.php?menu=true&submenu
=true&pcode=1235";
var st=s.substring(0, s.indexOf("?"));
alert(st);
alert(s.replace(/\?.*/,''));
</script>
How about this: location.href.slice(0, - ((location.search + location.hash).length))
Use properties of window.location
var loc = window.location;
var withoutQuery = loc.hostname + loc.pathname;
var includingProtocol = loc.protocol + "//" + loc.hostname + loc.pathname;
You can see more properties at https://developer.mozilla.org/en/DOM/window.location