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


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 相关文章推荐
jqeury eval将字符串转换json的方法
Jan 20 Javascript
基于jQuery的图片剪切插件
Aug 03 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
May 08 Javascript
angularjs的一些优化小技巧
Dec 06 Javascript
javascript下使用Promise封装FileReader
Feb 19 Javascript
微信小程序 开发之顶部导航栏实例代码
Feb 23 Javascript
用angular实现多选按钮的全选与反选实例代码
May 23 Javascript
JS实现百度搜索接口及链接功能实例代码
Feb 02 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
Aug 07 Javascript
对layui中的onevent 和event的使用详解
Sep 06 Javascript
JS基础之逻辑结构与循环操作示例
Jan 19 Javascript
JavaScript用document.write()输出换行的示例代码
Nov 26 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
PHP中一个控制字符串输出的函数
2006/10/09 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
使用jQuery实现更改默认alert框体
2015/04/13 Javascript
canvas知识总结
2017/01/25 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
JS实现多选框的操作
2020/06/24 Javascript
完美解决vue 中多个echarts图表自适应的问题
2020/07/19 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
python如何修改装饰器中参数
2018/03/20 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
PyTorch的深度学习入门之PyTorch安装和配置
2019/06/27 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
python中p-value的实现方式
2019/12/16 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
高级工程师英文求职信
2014/03/19 职场文书
《花木兰》教学反思
2014/04/09 职场文书
食品安全责任书
2014/04/15 职场文书
投标授权委托书范文
2014/08/02 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
2014年检验科工作总结
2014/11/22 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL
python之基数排序的实现
2021/07/26 Python