js16进制转10进制

    技术2022-07-13  80

    var ex16hex = function (value) { value = value.replace(/^\s+|\s+$/g, ""); var ex10 = document.getElementById('ex10'); if (value) { value = stripscript(value); value = value.replace("0x", ""); var arr = value.split(""); arr = arr.reverse(); var len = arr.length; var res = 0; arr.forEach(function (v, i) { var num = hex_change(v); // console.log(num) res += muti16(num, i); }); ex10.style.display = 'block'; ex10.innerText = '印刷卡号:' + res; } else { ex10.style.display = 'none'; } }; // 字符转16进制数字 var hex_change = function (v) { var res; switch (v) { case "a": res = 10; break; case "b": res = 11; break; case "c": res = 12; break; case "d": res = 13; break; case "e": res = 14; break; case "f": res = 15; break; case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": res = Number(v); break; default: res = 0; break; } return res; }; // 过滤所有特殊字符 var stripscript = function (s) { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?↵\r\n]"); var rs = ""; for (var i = 0; i < s.length; i++) { rs = rs + s.substr(i, 1).replace(pattern, ''); } return rs; }; // 返回 v 乘以 n 个 16 的积 var muti16 = function (v, n) { var temp = v; for (var i = 0; i < n; i++) { temp *= 16; } return temp; }

     

    Processed: 0.022, SQL: 9