function string10to64 (number) { var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$'.split(''), radix = chars.length, qutient = +number, arr = []; do { mod = qutient % radix; qutient = (qutient - mod) / radix; arr.unshift(chars[mod]); } while (qutient); return arr.join(''); } function string64to10(number_code) { var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$', radix = chars.length, number_code = String(number_code), len = number_code.length, i = 0, origin_number = 0; while (i < len) { origin_number += Math.pow(radix, i++) * chars.indexOf(number_code.charAt(len - i) || 0); } return origin_number; }
//注意事项,因为js是双精度,10进制长度最多为15位, 超过15位的数字不适用与本方法spa
var a = string10to64('2093890843211111') ;code
"7S67pw7Ld"string
var b = string64to10('7S67pw7Ld');it
"2093890843211111"io