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


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 相关文章推荐
一个cssQuery对象 javascript脚本实现代码
Jul 21 Javascript
两个select多选模式的选项相互移动(示例代码)
Jan 11 Javascript
JS中三目运算符和if else的区别分析与示例
Nov 21 Javascript
jQuery中find()方法用法实例
Jan 07 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 Javascript
Bootstrap导航条学习使用(二)
Feb 08 Javascript
canvas实现爱心和彩虹雨效果
Mar 09 Javascript
在vue项目中引入highcharts图表的方法(详解)
Mar 05 Javascript
详解react-refetch的使用小例子
Feb 15 Javascript
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
ajaxfileupload.js实现上传文件功能
Apr 19 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
Mar 07 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中数据的批量导入(csv文件)
2006/10/09 PHP
PHP 操作文件的一些FAQ总结
2009/02/12 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
PHP7匿名类用法分析
2016/09/26 PHP
CodeIgniter框架基本增删改查操作示例
2017/03/23 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
2018/09/07 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
让广告代码不再影响你的网页加载速度
2006/07/07 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
python实现根据图标提取分类应用程序实例
2014/09/28 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
Tornado 多进程实现分析详解
2018/01/12 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
《理想》教学反思
2014/02/17 职场文书
倡导文明标语
2014/06/16 职场文书
补充协议书
2015/01/28 职场文书
2015年组织委员工作总结
2015/04/23 职场文书
早安问候语大全
2015/11/10 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记