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


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获取作用在元素上面的样式属性代码
Sep 20 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
Aug 28 Javascript
Jquery通过JSON字符串创建JSON对象
Aug 24 Javascript
浅谈Javascript中的Function与Object
Jan 26 Javascript
Jquery使用小技巧汇总
Dec 29 Javascript
JavaScript每天必学之基础知识
Sep 17 Javascript
js中的触发事件对象event.srcElement与event.target详解
Mar 15 Javascript
Angularjs修改密码的实例代码
May 26 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
Aug 03 Javascript
react-native之ART绘图方法详解
Aug 08 Javascript
使用JQ完成表格隔行换色的简单实例
Aug 25 Javascript
weui上传多图片,压缩,base64编码的示例代码
Jun 22 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
删除无限级目录与文件代码共享
2006/07/12 PHP
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
JS+CSS实现简易实用的滑动门菜单效果
2015/09/18 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
Python 元类使用说明
2009/12/18 Python
python解析基于xml格式的日志文件
2017/02/25 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
白酒代理协议书范本
2014/10/26 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
MySQL一些常用高级SQL语句
2021/07/03 MySQL
Go语言的协程上下文的几个方法和用法
2022/04/11 Golang