Rev 751 | Rev 754 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 751 | Rev 752 | ||
---|---|---|---|
Line 153... | Line 153... | ||
153 | return { "weid": namespace + (weidstr == '' ? checksum : weidstr + '-' + checksum), "oid": oid }; |
153 | return { "weid": namespace + (weidstr == '' ? checksum : weidstr + '-' + checksum), "oid": oid }; |
154 | }, |
154 | }, |
155 | 155 | ||
156 | base_convert_bigint: function(numstring, frombase, tobase) { |
156 | base_convert_bigint: function(numstring, frombase, tobase) { |
157 | 157 | ||
158 | // Requires "mikemcl/bignumber.js" library |
158 | // This variant would require the "mikemcl/bignumber.js" library: |
159 | //var x = BigNumber(numstr, frombase); |
159 | //var x = BigNumber(numstr, frombase); |
160 | //return x.toString(tobase).toUpperCase(); |
160 | //return isNaN(x) ? false : x.toString(tobase).toUpperCase(); |
161 | 161 | ||
162 | var frombase_str = ''; |
162 | var frombase_str = ''; |
163 | for (var i=0; i<frombase; i++) { |
163 | for (var i=0; i<frombase; i++) { |
164 | frombase_str += parseInt(i, 10).toString(36).toUpperCase(); |
164 | frombase_str += parseInt(i, 10).toString(36).toUpperCase(); |
165 | } |
165 | } |
Line 167... | Line 167... | ||
167 | var tobase_str = ''; |
167 | var tobase_str = ''; |
168 | for (var i=0; i<tobase; i++) { |
168 | for (var i=0; i<tobase; i++) { |
169 | tobase_str += parseInt(i, 10).toString(36).toUpperCase(); |
169 | tobase_str += parseInt(i, 10).toString(36).toUpperCase(); |
170 | } |
170 | } |
171 | 171 | ||
- | 172 | for (var i=0; i<numstring.length; i++) { |
|
- | 173 | if (frombase_str.toLowerCase().indexOf(numstring.substr(i,1).toLowerCase()) < 0) { |
|
- | 174 | console.error("base_convert_bigint: Invalid input"); |
|
- | 175 | return false; |
|
- | 176 | } |
|
- | 177 | } |
|
- | 178 | ||
172 | var length = numstring.length; |
179 | var length = numstring.length; |
173 | var result = ''; |
180 | var result = ''; |
174 | var number = []; |
181 | var number = []; |
175 | for (var i=0; i<length; i++) { |
182 | for (var i=0; i<length; i++) { |
176 | number[i] = frombase_str.toLowerCase().indexOf(numstring[i].toLowerCase()); |
183 | number[i] = frombase_str.toLowerCase().indexOf(numstring[i].toLowerCase()); |