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


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 相关文章推荐
JavaScript闭包 懂不懂由你反正我是懂了
Oct 21 Javascript
关于jQuery中.attr()和.prop()的问题探讨
Sep 06 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
Dec 08 Javascript
原生JavaScript实现Ajax的方法
Apr 07 Javascript
Angular ng-class详解及实例代码
Sep 19 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
Nov 10 Javascript
整理关于Bootstrap导航的慕课笔记
Mar 29 Javascript
浅谈Vuex的状态管理(全家桶)
Nov 04 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
Feb 06 Javascript
VueJS实现用户管理系统
May 29 Javascript
Element PageHeader页头的使用方法
Jul 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之PHP语法学习笔记1
2006/12/17 PHP
php获取excel文件数据
2017/04/21 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
XP折叠菜单&amp;仿QQ2006菜单
2006/12/16 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
javascript继承机制实例详解
2014/11/20 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
JS实现向表格中动态添加行的方法
2015/03/30 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
《春晓》教学反思
2014/04/20 职场文书
公司外出活动方案
2014/08/14 职场文书
村安全生产责任书
2014/08/25 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
百年校庆感言
2015/08/01 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书