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构造函数中的值是非常重要的