为什么我的JavaScript正则表达式不起作用?

Jam*_*ead 8 javascript regex string

我不明白为什么,但是这段代码给了我一个JavaScript错误:

<script type="text/javascript">

String.prototype.format = function(values) {
    var result = this;
    for (var i = 0, len = values.length; i < len; i++) {
        result = result.replace(new RegExp("{" + i + "}", "g"), values[i]);
    }
    return result;
};

alert("Hi {0}, I'm {1}. Are you, {0}?".format(["Chris", "swell"]));

</script>
Run Code Online (Sandbox Code Playgroud)

错误

抛出异常:无效的量词

它出什么问题了?

med*_*iev 2

我相信你必须逃避{}

String.prototype.format = function(values) {
    var result = this;
    for (var i = 0, len = values.length; i < len; i++) {
        result = result.replace(new RegExp("\\{" + i + "\\}", "g"), values[i]);
    }
    return result;
};
Run Code Online (Sandbox Code Playgroud)