如果存在,Javascript替换字符串中的内容

Flu*_*yte 4 javascript regex replace

我有一个看起来像这样的字符串:

var minLength = 3;
var mystring = "This field must be {{minLength}} characters"
Run Code Online (Sandbox Code Playgroud)

我很想知道检测{{...... 的存在的好方法,}}并用minLength变量替换内容.正如你可能会想到的那样,有很多不同的变量,比如minLength,maxLength等.我试过正则表达式,但似乎无法让它工作.

Ric*_*ann 7

var values = {
    minLength: 3
};

var text = "This field must be {{minLength}} characters";
var mystring = text.replace(/\{\{([^}]+)\}\}/, function(i, match) {
    return values[match];
});
Run Code Online (Sandbox Code Playgroud)

演示

这样你可以添加多个要替换的值,你只需要添加它values并添加g到正则表达式.

var values = {
    minLength: 3,
    maxLength: 10
};

var text = "This field must be min {{minLength}} characters and max {{maxLength}}";
var mystring = text.replace(/\{\{([^}]+)\}\}/g, function(i, match) {
    return values[match];
});
console.log(mystring); // This field must be min 3 characters and max 10
Run Code Online (Sandbox Code Playgroud)

演示


Mat*_*nya 5

var newString =  mystring.replace(/{{minLength}}/,minLength);
Run Code Online (Sandbox Code Playgroud)