Простая функция для работы с шаблонами в javascript

10.01.2014

Если вам нужен простой шаблонизатор, воспользуйтесь такой функцией:

function Template (data, str) {
    return str.replace(/\{\{ *([\w_]+) *\}\}/ig, function (str, key) {
        var value = data[key];

        if (value === undefined) return '';
        if (typeof value === 'function') value = value(data);

        return value;
    });
}

Пример работы:

var user = { name: 'Ivan', age: '54', city: Rostov },
    tmpl = 'User {{name}}, {{age}} year, lives in {{city}}';

Template(user, tmpl); //Вернет "User Ivan, 54 year, lives in Rostov"