<html>
<body>
<script type="text/javascript">
var str="Welcome to Microsoft! ";
var val="Microsoft!";
document.write(str.replace('/'+val'+/gi', "W3Schools"));
</script>
</body>
</html>
这不起作用,如何动态使用val?
答案 0 :(得分:2)
您需要为replace()创建一个正则表达式的参数。如果你把它放在引号中,它只是一个字符串。改为使用RegExp构造函数:
document.write(str.replace(new RegExp(val, 'gi'), "W3Schools"));
答案 1 :(得分:1)
您无法通过字符串连接构建正则表达式文字
尝试:
var str="Welcome to Microsoft! ";
var val="Microsoft!";
document.write(str.replace(new RegExp(val, 'gi'), "http://www.w3fools.com"));
参考:https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions