复制代码代码如下::
Funktion zipnum (num, radix) {
if (! zipnum.zip) {
zipnum.zip = function (inputNum) {
if (inputNum> 35) {// 用大写字母表示 36-61
return string.fromCharCode ('a'.charCodeat (0) + InputNum % 36);
} else if (inputNum> 9) {// 用小写字母表示 10-35
return string.fromCharCode ('a'.charCodeat (0) + InputNum % 10);
} anders {
Rückgabe inputnum;
}
}
}
var quotient = num, rest, result;
if (radix> 36 && radix <63) {
Ergebnis = [];
Tun {
Rest = Quotient % Radix;
quotient = parseInt (quotient / radix);
result.push (Zipnum.zip (Rest));
} while (quotient> radix);
Rest = Quotient % Radix;
if (Rest! == 0) {
result.push (Zipnum.zip (Rest));
}
result = result.reverse (). join ('');
} else if (radix> 1 && radix <36) {
result = num.toString (radix);
} anders {
Ergebnis = num;
window.console && console.warn ('Radix -Argument muss zwischen 2 und 62' sein)
}
Rückgabeergebnis;
}
Funktion testSortnum () {
Assertequals (Zipnum (61, 62), 'Z');
Assertequals (Zipnum (62 * 2 - 1, 62), '1z');
Assertequals (Zipnum (62 * 3 - 1, 62), '2Z');
Assertequals (Zipnum (1361182624991, 62), 'Dxn5fjb');
}
testSortnum ();