var str = 'AbCd';
var k = 'aB';
str = str.replace(new RegExp(k, 'gmi'), '<b>' + k + '</b>');
document.write(str);
将字符串中的‘ab’加粗,但是不改变大小写,该怎么写?
PS:以为k值是变动的,不能直接写
str = str.replace(new RegExp(‘aB’, 'gmi'), '<b>Ab</b>');
------解决方案--------------------
var str = 'AbCd';
var k = 'aB';
var re = new RegExp(k, 'gi');
str = str.replace(re, '<b>' + re.exec(str)[0] + '</b>');
document.write(str);
这个意思?
------解决方案--------------------
楼上这位朋友的是可以的,使用re.exec(str)或str.match(re)都可以得到匹配项。
下面的是考虑出现多个匹配项时的替换
- JScript code
var str = 'AbCdab'; var k = 'aB'; var re = new RegExp('('+k+')',"gi"); str = str.replace(re,"<b>$1</b>"); alert(str);
------解决方案--------------------
var str = 'AbCd';
var k = 'aB';
str = str.replace(new RegExp(k, 'gmi'), '<b>$&</b>');
document.write(str);