复制代码代码如下:
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);
} それ以外 {
inputnumを返します。
}
}
}
var -quotient = num、rethder、result;
if(radix> 36 && radix <63){
結果= [];
する {
残り= quotient%radix;
quotient = parseint(quotient / radix);
result.push(zipnum.zip(残り));
} while(quotient> radix);
残り= quotient%radix;
if(残り!== 0){
result.push(zipnum.zip(残り));
}
result = result.reverse()。join( '');
} else if(radix> 1 && radix <36){
result = num.tostring(radix);
} それ以外 {
result = num;
window.console && console.warn( 'radix引数は2〜62'でなければなりません)
}
返品結果;
}
関数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();