利用进制转换压缩数字函数分享


Posted in Javascript onJanuary 02, 2014
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 < 63){
        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 < 36){
        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();
Javascript 相关文章推荐
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
Mar 07 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
Mar 28 Javascript
actionscript与javascript的区别
May 25 Javascript
arguments对象验证函数的参数是否合法
Jun 26 Javascript
jQuery插件Validate实现自定义表单验证
Jan 18 Javascript
JS使用JSON作为参数实例分析
Jun 23 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
Jul 22 Javascript
原生JS实现-星级评分系统的简单实例
Aug 21 Javascript
js实现返回顶部效果
Mar 10 Javascript
vue router总结 $router和$route及router与 router与route区别
Jul 05 Javascript
基于vue和websocket的多人在线聊天室
Feb 01 Javascript
JS异步宏队列微队列原理详解
Sep 09 Javascript
利用window.name实现windowStorage代码分享
Jan 02 #Javascript
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
Jan 02 #Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
Jan 02 #Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
Jan 02 #Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
Jan 02 #Javascript
jQuery简单实现banner图片切换
Jan 02 #Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
Jan 02 #Javascript
You might like
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
canvas红包照片实例分享
2017/02/28 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
python实现爬虫下载漫画示例
2014/02/16 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
python 构造三维全零数组的方法
2018/11/12 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
对Matlab中共轭、转置和共轭装置的区别说明
2020/05/11 Python
django下创建多个app并设置urls方法
2020/08/02 Python
python中pyqtgraph知识点总结
2021/01/26 Python
python实现计算图形面积
2021/02/22 Python
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
电话销售经理岗位职责
2013/12/07 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
图书馆标语
2014/06/19 职场文书