Skip to content

Instantly share code, notes, and snippets.

@rsoury
Last active May 14, 2016 10:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rsoury/53aa923833c79574ce379c2470397b98 to your computer and use it in GitHub Desktop.
Save rsoury/53aa923833c79574ce379c2470397b98 to your computer and use it in GitHub Desktop.
This function allows you to pass in a string, and it will increment it in a URL friendly manner. It can be useful for link shorteners, new chat string identifiers, etc.
function incUrlString(str){
var singles = str.split('');
var incNext = false;
var extendIt = false;
for(var i = singles.length - 1; i > -1; i --){
if(incNext || i == singles.length - 1){
incNext = false;
var ascii = singles[i].charCodeAt(0);
if(ascii == 57){
ascii = 65;
}else if(ascii == 90){
ascii = 97;
}else if(ascii == 122){
ascii = 48;
incNext = true;
}else{
ascii++;
}
if(i == 0 && incNext){
extendIt = true;
}
singles[i] = String.fromCharCode(ascii);
}
}
var newStr = singles.join('');
if(extendIt == true){
newStr = 'A' + newStr;
}
return newStr;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment