javascript中的动态全局值替换 var str=“欢迎使用Microsoft!”; var val=“微软!”; 编写(str.replace('/'+val'+/gi',“W3Schools”);

javascript中的动态全局值替换 var str=“欢迎使用Microsoft!”; var val=“微软!”; 编写(str.replace('/'+val'+/gi',“W3Schools”);,javascript,Javascript,这不起作用,如何动态使用val?您需要将replace()的参数设置为正则表达式。如果用引号括起来,它只是一个字符串。请改用RegExp构造函数: <html> <body> <script type="text/javascript"> var str="Welcome to Microsoft! "; var val="Microsoft!"; document.write(str.replace('/'+val'+/gi', "W3Schools"

这不起作用,如何动态使用val?

您需要将replace()的参数设置为正则表达式。如果用引号括起来,它只是一个字符串。请改用RegExp构造函数:

<html>
<body>

<script type="text/javascript">

var str="Welcome to Microsoft! ";
var val="Microsoft!";

document.write(str.replace('/'+val'+/gi', "W3Schools"));

</script>

</body>
</html>
不能通过字符串连接构造正则表达式文字

尝试:

参考:

document.write(str.replace(new RegExp(val, 'gi'), "W3Schools"));
var str="Welcome to Microsoft! ";
var val="Microsoft!";

document.write(str.replace(new RegExp(val, 'gi'), "http://www.w3fools.com"));