javascript - javascript更改键盘键的值
问题描述
我有一个文本字段只包含字母,如果我按下(a)我得到(b)并且如果我按下(b)得到(c)......等等,如果我按下(z)得到警报(“没有后面的字母")
<input type="number" id="example" onkeypress="return numbersKey(event)">
<p id="demo"></p>
<input type="text" id="example2" onkeypress="return lettersOnly(event)">
<script>
var myinput = document.getElementById('example'),
myp = document.getElementById('demo');
function numbersKey(evt) {
// Only ASCII charactar in that range allowed
var ASCIICode = event.keyCode;
if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57))
return false;
return true;
};
}
function lettersOnly()
{
// Only ASCII character in that range allowed
var charCode = event.keyCode;
if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || charCode == 8){
return String.fromCharCode(event.keyCode + 1);
}
else
return false;
}
解决方案
粘贴此完整代码并运行一次即可查看。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" id="example2" onkeypress="lettersOnly(event)">
<p id="demo"></p>
</body>
<script>
function lettersOnly(event) {
var charCode = event.keyCode;
if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || charCode == 8){
if(charCode == 90 || charCode == 122){
document.getElementById('demo').innerHTML = "There's no letter after";
}
else{
document.getElementById('demo').innerHTML = String.fromCharCode(event.keyCode + 1);
}
}
else{
document.getElementById('demo').innerHTML = "Not Letter";
}
}
</script>
</html>
推荐阅读
- tensorflow - TensorFlow Lite:初始化节点不存在
- hl7 - 无法启动 Mirth 的管理员工具
- git - 如何使 VSCode 强制重新加载更改的文件?
- filter - 尝试在织物 js 中使用 setSrc() 更改图像 src 时出现“filter.applyTo 不是函数”错误
- html - 用于布局表单的 CSS Grid
- c# - 面板拖放在 winForms 应用程序中不起作用
- shell - 使用 awk 命令从大文件中过滤掉特定列
- python - 如何在 PyQt5 中访问 qmenubar 的 qactions?
- mysql - 如何在sql中打印唯一元素并计算频率?
- python - 如何用 Python 识别 Excel 单元格边框?