JavaScript正则表达式忽略大小写

aza*_*arp 9 javascript regex

我试图匹配字符串的一部分,它应该不区分大小写.我有以下代码,但我从来没有得到替换的字符串.

var name = 'Mohammad Azam'
var result = name.replace('/' + searchText + '/gi', "<b>" + searchText + "</b>");
Run Code Online (Sandbox Code Playgroud)

searchText变量将是"moha"或"mo"或"moh".

如何以粗体标签获取匹配的内容.

Sol*_*ogi 23

/ pattern /在它作为文字输入时有意义,而不是像你那样构造字符串.(我不是百分百肯定的.)

尝试

var name = 'Mohammad Azam';
var searchText = 'moha';
var result = name.replace(new RegExp('(' + searchText + ')', 'gi'), "<b>$1</b>");
//result is <b>Moha</b>mmad Azam
Run Code Online (Sandbox Code Playgroud)

编辑:

添加了上述代码的演示页面.

演示→

  • ?? downvoter可以澄清为什么他贬低了? (3认同)