function 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);
} else {
return inputnum;
}
}
}
var quotient = num, remainder, result;
if(radix > 36 && radix result = [];
do {
remainder = quotient % radix;
quotient = parseint(quotient / radix);
result.push(zipnum.zip(remainder));
}while(quotient > radix);
remainder = quotient % radix;
if(remainder !== 0){
result.push(zipnum.zip(remainder));
}
result = result.reverse().join('');
} else if(radix > 1 && radix result = num.tostring(radix);
} else {
result = num;
window.console && console.warn('radix argument must be between 2 and 62')
}
return result;
}
function 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();
