Javascript 在JS中键入时替换输入值

Javascript 在JS中键入时替换输入值,javascript,html,Javascript,Html,我有一个输入,其maxLength为1。如果我键入另一个值(键),则输入中的当前值(字母)将替换为新的值(键的字母) 我试过这样的方法: container.addEventListener('keyup', function (e) { var target = e.srcElement || e.target; var letter = target.value; var newLetter = letter.replace(/letter/g, letter);

我有一个
输入
,其
maxLength
1
。如果我键入另一个
值(),则输入中的当前
值(字母)将替换为新的
值(键的字母

我试过这样的方法:

container.addEventListener('keyup', function (e) {
    var target = e.srcElement || e.target;
    var letter = target.value;
    var newLetter = letter.replace(/letter/g, letter);
    letter.value = newLetter;
});

您可以使用
this.value
更新输入框的值,并使用
e.key
按键。但是,如果按下此键,将输入元键:

const container=document.getElementById('container');
container.addEventListener('keyup',函数(e){
this.value=e.key;
});

您可以使用
此.value
更新输入框的值,并使用
e.key
按键。但是,如果按下此键,将输入元键:

const container=document.getElementById('container');
container.addEventListener('keyup',函数(e){
this.value=e.key;
});

这适用于所有单字符输入,但不包括空格字符:

let container=document.getElementById('container');
container.addEventListener('keyup',函数(e){
设valueLength=this.value.length;
如果(this.value==“”){
此值为“”;
回来
}
如果(valueLength==1){
如果(!e.altKey&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey
&&e.code!=“空格”&&e.key.length==1){
this.value=e.key;
}
}
});

这适用于所有单字符输入,但不包括空格字符:

let container=document.getElementById('container');
container.addEventListener('keyup',函数(e){
设valueLength=this.value.length;
如果(this.value==“”){
此值为“”;
回来
}
如果(valueLength==1){
如果(!e.altKey&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey
&&e.code!=“空格”&&e.key.length==1){
this.value=e.key;
}
}
});

但是如果你把maxlength限制为1,你怎么能再打一个字母呢?@RamRaider如我所说,我不想再打一个字母,我想在每次我输入新值时替换这个字母。但是如果你把maxlength限制为1,你怎么能再打一个字母呢?@RamRaider如我所说,我不想再打一个字母,我希望在每次输入新值时替换字母。请在特殊键的情况下添加某种形式的验证,例如,如果按Enter键,输入字段值将是字符串“Enter”,这可能不是作者想要的intended@KrzysztofKrzeszewski嗨,谢谢你的提示。我已经添加了一些验证(在第二个代码片段中)
event.keyCode
已被弃用:@KooiInc哦,你说得对,有什么更好的方法来获取密钥代码?(
.code
将给出一个字符串)@NickParsons
{key}
-检查正常,
RegExp
可以简化为
/^[a-z0-9]$/i
。要讨论的问题是,您是否要使用
事件。目标
请添加某种形式的验证,以防出现特殊键,例如,如果我要按Enter键,则输入字段值将是一个字符串“Enter”,这可能不是作者想要的intended@KrzysztofKrzeszewski嗨,谢谢你的提示。我已经添加了一些验证(在第二个代码片段中)
event.keyCode
已被弃用:@KooiInc哦,你说得对,有什么更好的方法来获取密钥代码?(
.code
将给出一个字符串)@NickParsons
{key}
-检查正常,
RegExp
可以简化为
/^[a-z0-9]$/i
。如果要使用
事件。目标