如何从JS中的字符串中获取十六进制整数?

时间:2012-04-23 21:15:48

标签: javascript hex

我想将此转换为"#FFFFFF"0xFFFFFF。如果不使用eval怎么可能?

提前致谢,

2 个答案:

答案 0 :(得分:36)

剥去“#”并使用parseInt()

var hex = parseInt(str.replace(/^#/, ''), 16);

然后,如果你想以十六进制它,你可以使用.toString()

alert(hex.toString(16));

答案 1 :(得分:1)

使用此代码:

var resultP = document.getElementById('result');
var btn = document.querySelector('button');
var input = document.querySelector('input');
function convert(hex) {
  return Number(`0x${hex.substr(1)}`);
}
btn.addEventListener('click', () => {
  resultP.innerHTML = convert(input.value);
})
* {
  font-family: Arial;
}
<!DOCTYPE html>
<html>
  <head>
    <title>Hex code to hex integer</title>
    <meta charset="UTF-8" />
  </head>
  <body>
    <input type="text" maxlength="7" />
    <button>Done</button>
    <br />
    Result:
    <p id="result"></p>
  </body>
</html>