【发布时间】:2020-12-07 02:42:39
【问题描述】:
如何将一些(多个)十六进制替换为十进制? 需要使用哪些方法?
示例文本:
Try to convert this hex number 0x5A into (90) and 0x83 into (131).
我想把上面文字中的那个0x54和0x83改成90和131,卡住了,不知道需要用什么方法。
function convert() {
var code = document.getElementById("codearea").value;
var fhex = code.match(/0[xX][0-9a-fA-F]+/g);
for(var i=0; i<fhex.length;i++) fhex[i] = parseInt(fhex[i], 16);
var fhex1 = fhex;
var c = code.replace(/0[xX][0-9a-fA-F]+/g,fhex1)
document.getElementById("result").value = c;
}
<!-- TextArea Main -->
<textarea id="codearea" rows="5" cols="50">
Try to convert this hex number 0x5A into (90) and 0x83 into (131).
</textarea>
<div id="spacegap"></div>
<!-- TextArea Results -->
<textarea id="result" rows="5" cols="50">
</textarea>
</br>
<button id="btn" onclick="convert()">CLICK</button>
【问题讨论】:
标签: javascript hex decimal regexp-replace