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


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 相关文章推荐
文本框根据输入内容自适应高度的代码
Oct 24 Javascript
js控制CSS样式属性语法对照表
Dec 11 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
一个php+js实时显示时间问题
Oct 12 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 Javascript
EasyUi combotree 实现动态加载树节点
Apr 01 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
Jun 03 Javascript
详解Vue自定义过滤器的实现
Jan 10 Javascript
微信小程序-获得用户输入内容
Feb 13 Javascript
详解数组Array.sort()排序的方法
May 09 Javascript
微信小程序swiper左右扩展各显示一半代码实例
Dec 05 Javascript
canvas实现贪食蛇的实践
Feb 15 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
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
javascript背投广告代码的完善
2008/04/08 Javascript
js 学习笔记(三)
2009/12/29 Javascript
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
ECMAScript6函数默认参数
2015/06/12 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
详解element-ui日期时间选择器的日期格式化问题
2019/04/08 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
详解在Python程序中使用Cookie的教程
2015/04/30 Python
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
房地产财务管理制度
2014/02/02 职场文书
作风建设演讲稿
2014/05/23 职场文书
办公室卫生管理制度
2015/08/04 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
详解Laravel框架的依赖注入功能
2021/05/27 PHP
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技