这个JavaScript正则表达式函数有什么作用?

时间:2017-11-03 15:46:28

标签: javascript regex

我正在尝试使用JavaScript验证码验证我的网站联系表单。

我不明白这个功能到底是做什么的。我将不胜感激。

function parseMessage(str, vars) {
    var i, pattern, re, n = vars.length;
    for (i = 0; i < n; i++) {
        pattern = "\\{\\$" + (i+1) +"\\}";
        re = new RegExp(pattern, "g");
        str = str.replace(re, vars[i]);
    }
    return str;
}

pattern变量中,每个反斜杠有2个反斜杠,但只显示一个。

1 个答案:

答案 0 :(得分:0)

正则表达式解释

"\\{\\$" + (i+1) +"\\}";

2个反斜杠表示1个斜杠逃脱另一个。

因此,如果您需要\,请使用\\

但是在您的代码中,您想要转义{。因此,请使用\\{

\\$\\}相同。

另外

此功能所做的只是将{$[0-9]}替换为array[0-9]

所以praseMessage('The apple is {$1} and {$2}', ['green', 'yummy'])

返回:The apple is green and yummy