我有一个带有小下划线的文本字段,如(_____)。如何使用JavaScript在键入时将这些破折号替换为输入的数字?(48721)在键入时,我希望下划线替换为键入的数字。如何实现这一点?
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希望我能帮忙
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); })
告诉我这是否解决了你的问题。
2条答案
按热度按时间wkyowqbh1#
我认为这更多的是CSS/HTML的问题,而不是JavaScript的问题。
对于插入,您可以像这样使用javascript
下面是一个工作示例https://codepen.io/jteck13/pen/RwYoeMp
希望我能帮忙
jbose2ul2#
你可以这样做:
告诉我这是否解决了你的问题。