I have a url:
http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe
I want to get the address after the last dash using javascript:
dashboard.php?page_id=projeto_lista&lista_tipo=equipe
You can use indexOf and substr to get the sub-string you want:
//using a string variable set to the URL you want to pull info from
//this could be set to `window.location.href` instead to get the current URL
var strIn = 'http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe',
//get the index of the start of the part of the URL we want to keep
index = strIn.indexOf('/dashboard.php'),
//then get everything after the found index
strOut = strIn.substr(index);
The strOut variable now holds everything after /dashboard.php (including that string).
Here is a demo: http://jsfiddle.net/DupwQ/
The strOut variable in the example above includes the prefixed forward slash and it was requested that the output should not.
Replacing strOut = strIn.substr(index) with strOut = strIn.substr(index + 1) fixes the output for this specific use case by starting the substring one character farther ahead in the string.
Something else you could do is search for the string after a specific search term (non-inclusive):
var strIn = 'http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe';
var searchTerm = '/dashboard.php?';
var searchIndex = strIn.indexOf(searchTerm);
var strOut = strIn.substr(searchIndex + searchTerm.length); //this is where the magic happens :)
strOut now holds everything after /dashboard.php? (non-inclusive).
Here is an updated demo: http://jsfiddle.net/7ud0pnmr/1/
Docs -
/ char, but in the question, refer to without /. 2) for resolve that, if use indexOf...+1 then return all string when there are not any /dashboard... , so I suggestion use this solution: stackoverflow.com/a/58456746/1407491subString instead of deprecated subStr.This may be new, but the substring method returns everything from a specified index to the end of the string.
var string = "This is a test";
console.log(string.substring(5));
// returns "is a test"
If the beginning is always "http://localhost/40ATV" you can do this:
var a = "http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe";
var cut = a.substr(22);
The native JavaScript String method substr[MDN] can accomplish what you need. Just supply the starting index and omit the length parameter, and it grabs all the way to the end.
Now, how to go about getting the starting index? You didn't give any criteria, so I can't really help with that.
No need for jQuery, plain old javascript will do the job just fine.
var myString = "http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe";
var mySplitResult = myString.split("\/");
document.write(mySplitResult[mySplitResult.length - 1]);
and if you want the leading /
document.write("/" + mySplitResult[mySplitResult.length - 1]);
You can use this code, if there are not dashboard... return empty.
var str = 'http://localhost/40ATV/dashboard.php?page_id=projeto_lista&lista_tipo=equipe';
var index = str.indexOf('/dashboard.php') + 1;
var result = '';
if (index != 0) {
result = str.substr(index);
}
console.log(result);
/dashboard...? Edit: @Rowan, the link is just an example of the string he's trying to cut the substring from. I hope.