javascript - 用 HTML 字符替换句点

标签 javascript jquery

我的一些代码有问题。我输入了一个输入,段落中的文本使用 <mark> 突出显示。 .但是,当我添加一个句点以突出显示所有句点时,代码会崩溃并为我提供实际的 html 代码并随机突出显示。所以我尝试添加一个替换器来更改周期。现在它不会 panic ,但不会突出显示任何内容。这是我尝试用 html 字符数 ( &#46; ) 替换句点的代码:

var i = document.getElementById("Bar").value;
var inpu = $.trim(i);
var inp = inpu.replace(".", "&#46;");
var SearchReq = new RegExp("(\\b" + inp + "\\b)", "gim");
var Notes = document.getElementById("NoteHolder").innerHTML;
var after = Notes.replace(SearchReq, "<mark class=" + ColorOptionReady + ">$1</mark>");
document.getElementById("NoteHolder").innerHTML = after;

代码有什么问题? (我尝试删除正则表达式中的“\b”,但没有解决问题。)

最佳答案

. 替换为 \\.(将其转义,\\ 反斜杠需要在将字符串传递给 RegExp 时保留反斜杠):

var inp = inpu.replace(".", "\\.");

您的错误原因是 . 是在 RegExp 中具有特殊含义的字符,因此您必须在传递给 RefExp 之前将其转义。

参见 Special characters meaning in regular expressions获取更多信息。

祝你好运!

关于javascript - 用 HTML 字符替换句点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35821922/

相关文章:

javascript - 快速滚动时获取scrollTop

javascript - 如何逐步构建和拆除 JavaScript 对象?

javascript - 如何从数组中删除除最后 N 个元素以外的所有元素?

Javascript:测试在正则表达式字符串中找到单个字符

java - 使用jquery调用web服务

javascript - jQuery 验证后,联系表单不会提交

javascript - 函数不返回任何内容(异步?)

javascript - 无法使用 $(this) 定位元素

javascript: 按类名获取元素

javascript - 如何使用 glyphicon 上传图像而不是使用那个长输入字段?