Javascript 变量和正则表达式
我正在尝试创建一个查找和替换程序。问题是全局匹配修改器中的所有内容都转换为字符串。如何防止这种情况发生,以便使用变量作为全局匹配修改器的值 守则:Javascript 变量和正则表达式,javascript,Javascript,我正在尝试创建一个查找和替换程序。问题是全局匹配修改器中的所有内容都转换为字符串。如何防止这种情况发生,以便使用变量作为全局匹配修改器的值 守则: function replaceHim() { var para = document.getElementById("para"); var replaced = document.getElementById("firstInput").value; var replaceWith = document.getEleme
function replaceHim() {
var para = document.getElementById("para");
var replaced = document.getElementById("firstInput").value;
var replaceWith = document.getElementById("secondInput").value;
var paraValue = para.innerHTML.replace(/replaced/g,replaceWith);
para.innerHTML = paraValue;
}
在这种情况下,需要使用构造函数创建动态正则表达式对象:
function replaceHim() {
var para = document.getElementById("para");
var replaced = document.getElementById("firstInput").value;
var replaceWith = document.getElementById("secondInput").value;
var regexp = new RegExp(replaced, 'g');
var paraValue = para.innerHTML.replace(regexp, replaceWith);
para.innerHTML = paraValue;
}
注意,在这种情况下,传递到RegExp构造函数中的值是非常重要的