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


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之dhDataGrid Ver2.0.0代码
Jul 01 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
Oct 29 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
Dec 07 Javascript
JS短路原理的应用示例 精简代码的途径
Dec 13 Javascript
鼠标拖拽移动子窗体的JS实现
Feb 25 Javascript
JavaScript返回网页中超链接数量的方法
Apr 03 Javascript
JS截取与分割字符串常用技巧总结
Nov 10 Javascript
微信小程序之网络请求简单封装实例详解
Jun 28 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
Oct 12 Javascript
详解React 的几种条件渲染以及选择
Oct 23 Javascript
JavaScript数组及常见操作方法小结
Nov 13 Javascript
js this 绑定机制深入详解
Apr 30 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者的疑难问答(1)
2006/10/09 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
php实现cookie加密的方法
2015/03/10 PHP
PHP框架Laravel学习心得体会
2015/10/28 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
Js控制滑轮左右滑动实例
2015/02/13 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
Python调用C++,通过Pybind11制作Python接口
2018/10/16 Python
ipython和python区别详解
2019/06/26 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
pandas参数设置的实用小技巧
2020/08/23 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
学校地质灾害防治方案
2014/06/10 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
基于Python实现射击小游戏的制作
2022/04/06 Python