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


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 相关文章推荐
filters.revealTrans.Transition使用方法小结
Aug 19 Javascript
js下判断 iframe 是否加载完成的完美方法
Oct 26 Javascript
JS target与currentTarget区别说明
Aug 28 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
May 11 Javascript
基于Jquery easyui 选中特定的tab
Nov 17 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
Oct 17 Javascript
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
微信小程序实现滑动删除效果
May 19 Javascript
Angular路由ui-router配置详解
Aug 01 Javascript
详解angular应用容器化部署
Aug 14 Javascript
vue+高德地图写地图选址组件的方法
May 18 Javascript
npm 语义版本控制详解
Sep 10 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 源代码压缩小工具
2009/12/22 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
php 购物车完整实现代码
2014/06/05 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
PHP实现PDO操作mysql存储过程示例
2019/02/13 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
jQuery Trim去除字符串首尾空字符的实现方法说明
2014/02/11 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
vue在手机中通过本机IP地址访问webApp的方法
2018/08/15 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
python中使用mysql数据库详细介绍
2015/03/27 Python
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
Django rest framework实现分页的示例
2018/05/24 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
建筑工程专业大学生求职信
2014/04/23 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server