javascript - 使用 Javascript 替换文本框中的文本(更改大小写)

标签 javascript regex dom text replace

我正在尝试构建一种智能感知文本输入框,其中当用户键入时,“and”将替换为“AND\n”(即在每个“and”上,“and”大写然后用户转到新行)。

我为此使用的 Javascript 是:


function Validate()
{
document.getElementById("search").value =  document.getElementById("search").value.replace("and","AND \n"); //new line for AND
}

The HTML part is like this:

< textarea type="text" name="q" id="search" spellcheck="false" onkeyup='Validate();'>< /textarea>

虽然上面的脚本在 Firefox 和 Chrome 上运行良好,但它在 Internet Explorer 上有点不正常(将光标移到每个“KeyUp”上的文本末尾)。

此外,上述代码不适用于 'and' 的其他变体,例如 'And'、'anD' 甚至 'AND' 本身。

最佳答案

我认为这里的实际答案是前两个的混合:

onkeyup="this.value = this.value.replace(/\band\b/ig, ' AND\n')"

您需要 i 来使搜索不区分大小写,并需要 g 来确保替换所有匹配项。这不是很有效,因为它会用自己替换之前的匹配项,但它会起作用。

让它成为一个单独的函数:

function validate() {
    document.getElementById('search') = document.getElementById('search').replace(/\band\b/ig, ' AND\n');
}

关于javascript - 使用 Javascript 替换文本框中的文本(更改大小写),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1912334/

相关文章:

javascript - 每隔几秒从 .php 文件加载代码

javascript - 使用文本和 span 标签创建动态 li 标签

javascript - Laravel 和 Jquery Var 长度

regex - 重定向除一个请求之外的所有请求

javascript - 溢出隐藏元素的scrollTop、scrollLeft靠谱吗?

javascript - 基于文档动态创建摘要

javascript - 在 Protractor 中使用 xml2js

c++ - 在 C++ 中有选择地替换 std::string 中的 (") 双引号

javascript - 将错误与 if 语句混淆

java - Java 中查找 DOM 元素绝对位置的代码