首页 > 解决方案 > 如何用 input.value 上的另一个字母替换一个字母

问题描述

所以我在这里遇到了问题。我有一个输入和一个保留其价值的段落。

一切都很好。但是,例如,我想将字母“a”更改为“b”。在每一次出现。我怎么做?我只需要在第一次出现这样的情况下让它工作一次:

var input = document.querySelector("input");
var h1 = document.querySelector("h1");

input.addEventListener("input", function(){
  h1.innerText = input.value.replace("a", "b");
 
});
<input type="text">
<h1></h1>

我如何让它在每次出现时都替换它?以及如何使它替换多个字母?就像,现在如果用户按下字母“b”,例如用“t”替换它,除了第一个替换(a 和 b)。

标签: javascripthtml

解决方案


您正在使用无效的“输入”向输入添加事件侦听器。有效事件是:点击、keyup 等...

这是一支笔,它展示了如何用 b 替换所有 a。

它使用正则表达式来查找所有 [a],使用 /g 进行全局字符串搜索,使用 /i 进行不区分大小写并将它们替换为“b”。查找:/[a]/gi 替换:“b”

var input = document.querySelector("input");
var h1 = document.querySelector("h1");

input.addEventListener("keyup", function() {
  h1.innerText = input.value.replace(/[a]/gi, "b");
});

https://codepen.io/jthomas077/pen/mGPbrB


推荐阅读