如何获取字符串所有字符的CharCode?解决打印idCalc仅返回首字符键码问题
解决输入框所有字符键码的获取问题
你的代码存在两处问题,导致只能拿到第一个字符的键码:
- 调用了不存在的
char方法,正确获取字符键码的方法是charCodeAt(index),不传索引参数时默认取第一个字符(索引0); console.log('idCalc')是打印字符串'idCalc',而非变量idCalc,需要去掉引号。
修改后的代码(返回键码数组)
function log(){ var input = document.getElementById("inputBox"); var inputValue = input.value.toUpperCase(); var keyCodes = []; // 遍历每个字符,收集对应键码 for(var i = 0; i < inputValue.length; i++){ keyCodes.push(inputValue.charCodeAt(i)); } console.log(keyCodes); }
这段代码会先将输入框内容转成大写,然后逐个遍历字符,把每个字符的ASCII键码存入数组,最后打印整个数组,就能得到所有字符的键码。
可选:打印字符与键码的对应关系
如果需要直观看到每个字符对应的键码,可以用下面的写法:
function log(){ var input = document.getElementById("inputBox"); var inputValue = input.value.toUpperCase(); for(var i = 0; i < inputValue.length; i++){ var currentChar = inputValue[i]; var currentCode = inputValue.charCodeAt(i); console.log(`${currentChar}: ${currentCode}`); } }
内容的提问来源于stack exchange,提问作者Joao Victor
相关产品推荐
相关产品推荐

