JSFiddle - React, Tailwind, and code Playground
by asdf
JavaScript
// http://goog.co/12345535324553
var a = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; // a.length=62
//[a-zA-Z0-9]
//26+26+10=62
// number = 123;
function id2Url(number) {
var url = [];
var i;
while (number > 0) {
i = number%a.length;
url.push(a[i]);
number = Math.floor(number/a.length);
}
url.reverse();
return url.join('');
}
console.log(id2Url(3911));
console.log(id2Url(217761));
console.log(id2Url(3423542342342342));
function url2Id(url) {
var number = 0;
// 48-57 numbers
// 65-90 A-Z
// 97-122 a-z
var c;
for(var i = 0; i < url.length; i++) {
c = url[i].charCodeAt(0);
sub = 0;
if (c >= 97 && c <= 122) {
sub = 97;
}
if (c >= 65 && c <= 90) {
sub = 65-26;
}
if (c >= 48 && c <= 57) {
sub = 48-26-26;
}
number = number * a.length + c-sub;
}
return number;
}
console.log(url2Id('bbf'));
console.log(url2Id('4Or'));
console.log(url2Id('pQjxTDwzy'));