用HTML字符替换句点

Haw*_*eye 5 javascript jquery

我遇到了一些代码问题.我输入了一个输入,段落中的文字突出显示使用<mark>.但是当我添加一段时间来突出显示所有句点时,代码会变得怪异并给我实际的html代码并且随机突出显示.所以我尝试添加一个替换器来改变周期.现在它不会吓坏,但不会突出任何东西.这是我的代码尝试用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;
Run Code Online (Sandbox Code Playgroud)

代码有什么问题?(我尝试删除正则表达式中的"\ b"但是没有解决它.)

And*_*yko 5

替换.\\.(转义它,\\将字符串传递给RegExp时保持反斜杠所需的反斜杠):

var inp = inpu.replace(".", "\\.");
Run Code Online (Sandbox Code Playgroud)

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

有关详细信息,请参阅正则表达式中的特殊字符.

祝好运 )!