JS使用变量替换所有出现的字符串

这个问题在这里已经有了答案:

  • 你如何在正则表达式中使用变量? 16个答案

  • RegExp构造函数接受一个字符串并从中创建一个正则表达式。

    function name(str,replaceWhat,replaceTo){
        var re = new RegExp(replaceWhat, 'g');
        return str.replace(re,replaceTo);
    }
    

    如果replaceWhat可能包含正则表达式中特殊的字符,则可以执行:

    function name(str,replaceWhat,replaceTo){
        replaceWhat = replaceWhat.replace(/[-/^$*+?.()|[]{}]/g, '$&');
        var re = new RegExp(replaceWhat, 'g');
        return str.replace(re,replaceTo);
    }
    

    请参阅Javascript中是否存在RegExp.escape函数?


    Replace有一个替代形式,它接受3个参数并接受一个字符串:

    function name(str,replaceWhat,replaceTo){
        str.replace(replaceWhat,replaceTo,"g");
    }
    

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

    链接地址: http://www.djcxy.com/p/76821.html

    上一篇: JS replacing all occurrences of string using variable

    下一篇: Javascript Regexp dynamic generation from variables?