在JavaScript中键入数字输入时替换下划线

ohfgkhjo  于 2023-02-28  发布在  Java
关注(0)|答案(2)|浏览(195)

我有一个带有小下划线的文本字段,如(_____)。如何使用JavaScript在键入时将这些破折号替换为输入的数字?(48721)在键入时,我希望下划线替换为键入的数字。如何实现这一点?

wkyowqbh

wkyowqbh1#

我认为这更多的是CSS/HTML的问题,而不是JavaScript的问题。
对于插入,您可以像这样使用javascript

var input = document.querySelector('input');
input.addEventListener('keypress', function(){
var s = this.selectionStart;
this.value = this.value.substr(0, s) + this.value.substr(s + 1);
this.selectionEnd = s;
}, false);

下面是一个工作示例https://codepen.io/jteck13/pen/RwYoeMp
希望我能帮忙

jbose2ul

jbose2ul2#

你可以这样做:

const p = document.querySelector("p")
const amountOfDashes = 10
p.textContent = "_".padEnd(amountOfDashes, "_")
document.addEventListener("keydown", e => {
    if(e.key === "Backspace") {
        const pattern = /\d(?!\d)/;
        if(!pattern.test(p.textContent)) return;
        p.textContent = p.textContent.replace(pattern, "_");
        return;
    }
    const val = parseInt(e.key);
    if(isNaN(val)) return;
    p.textContent = p.textContent.replace("_", val);
})

告诉我这是否解决了你的问题。

相关问题