5

次のような文字列があります。

var minLength = 3;
var mystring = "This field must be {{minLength}} characters"

{{...の存在を検出し}}、内容をminLength変数に置き換える良い方法に興味があります。おそらくご想像のとおり、minLength、maxLengthなど、さまざまな変数があります。正規表現を試しましたが、機能しないようです。

4

3 に答える 3

9
var values = {
    minLength: 3
};

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

デモ

このようにして、置き換える値を複数追加できます。追加するだけで、正規表現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

デモ

于 2012-12-19T17:44:44.817 に答える
4
var newString =  mystring.replace(/{{minLength}}/,minLength);
于 2012-12-19T17:44:20.553 に答える
0

このアプローチを使用できます。

var str = "This field must be {{minLength}} characters";
var result = str.replace(/{{minLength}}/,"3");​​
alert(result);

デモ:フィドル

于 2012-12-19T17:46:45.787 に答える