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


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中对对层的控制
Dec 29 Javascript
JS中产生标识符方式的演变
Jun 12 Javascript
用Move.js配合创建CSS3动画的入门指引
Jul 22 Javascript
Form表单按回车自动提交表单的实现方法
Nov 18 Javascript
jquery实现tab键进行选择后enter键触发click行为
Mar 29 jQuery
vue.js实现数据动态响应 Vue.set的简单应用
Jun 15 Javascript
IntersectionObserver实现图片懒加载的示例
Sep 29 Javascript
浅析vue深复制
Jan 29 Javascript
JavaScript封闭函数及常用内置对象示例
May 13 Javascript
layui select 禁止点击的实现方法
Sep 05 Javascript
关于layui 下拉列表的change事件详解
Sep 20 Javascript
vuejs中父子组件之间通信方法实例详解
Jan 17 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
JavaScript 10件让人费解的事情
2010/02/15 Javascript
javascript与CSS复习(二)
2010/06/29 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
jquery 动态增加删除行的简单实例(推荐)
2016/10/12 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
vue router 源码概览案例分析
2018/10/09 Javascript
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
基于python绘制科赫雪花
2018/06/22 Python
python批量修改图片大小的方法
2018/07/24 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
python中id函数运行方式
2020/07/03 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
一套带答案的C++笔试题
2014/01/10 面试题
城市规划毕业生求职信
2013/10/10 职场文书
机械专业毕业生自荐信
2013/11/02 职场文书
自荐信怎么写好
2013/11/11 职场文书
播音主持专业个人自我评价
2014/01/09 职场文书
县级文明单位申报材料
2014/05/23 职场文书
物业公司的岗位任命书
2014/06/06 职场文书
家长评语怎么写
2014/12/30 职场文书
python神经网络ResNet50模型
2022/05/06 Python