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


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 typeof 用法
Dec 28 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
Aug 09 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
Dec 13 Javascript
原生js验证简洁注册登录页面
Dec 17 Javascript
jQuery中复合选择器简单用法示例
Mar 31 jQuery
微信小程序 MinUI组件库系列之badge徽章组件示例
Aug 20 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
Feb 18 jQuery
简单了解JavaScript异步
May 23 Javascript
koa2+vue实现登陆及登录状态判断
Aug 15 Javascript
编写一个javascript元循环求值器的方法
Apr 14 Javascript
Vue如何基于vue-i18n实现多国语言兼容
Jul 17 Javascript
Vue+Flask实现图片传输功能
Apr 01 Vue.js
利用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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
PHP生成随机用户名和密码的实现代码
2013/02/27 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
深入分析PHP设计模式
2020/06/15 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
[转]JS宝典学习笔记
2007/02/07 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
关于递归运算的顺序测试代码
2011/11/30 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
2019/04/11 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
Python生成验证码实例
2014/08/21 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
Python 一句话生成字母表的方法
2019/01/02 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
Proenza Schouler官方网站:纽约女装和配饰品牌
2019/01/03 全球购物
竞选演讲稿范文
2013/12/28 职场文书
本科毕业生自荐信
2014/05/26 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
税务会计岗位职责
2015/04/02 职场文书
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android
 python中的元类metaclass详情
2022/05/30 Python