javascript - 替换 *variable* 文本但保持大小写

标签 javascript jquery

我需要在不丢失大小写的情况下替换 javascript 变量 中的一些文本,即。

"MAT"==> "MATch string in db" 而不是 "Mat"==> "match string in db"

现在我正在这样做(不保留原始情况):

var user_str = $("#user-input").val();
var db_match = db_match.replace(new RegExp(user_str, "ig") , '<span class="u b match">' + user_str + '</span>');

我发现人们需要替换静态文本的情况,但在我的情况下,我需要替换可变内容。

显然这也行不通:

var user_str = $("#user-input").val();
db_match = db_match.replace(/(user_str)/ig, "<span class=u b match>$1</span>");

知道怎么做吗?

最佳答案

Use a group并构建 regular expression

    var str = "test";
    var text = "Test this";
    var re = new RegExp("(" + str + ")","gi");
    console.log(text.replace(re, "<span>$1</span>"))  //"<span>Test</span> this"

关于javascript - 替换 *variable* 文本但保持大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611284/

相关文章:

javascript - 我只想每次删除一个新闻,但我删除了多个

javascript - 选择时自动完成

javascript - 单击按钮不再触发

jquery - 在导航和下拉菜单之间创建一个间隙

javascript - jQuery:试图让动画每 3 秒发生一次,但不起作用?

javascript - 将参数传递给一个类上调用另一个类的方法的便捷方法

javascript - Select2 未应用

javascript - 出现错误时未调用 jQuery AJAX 错误回调

javascript - 选择选项的格式错误 - JQuery

javascript - 为什么模数运算符在 javascript 中返回小数?