JS .format()
by Florian Bar
JavaScript
String.prototype.format = function (paramater) {
var text = this;
if (paramater && typeof (paramater) == "object") {
var placeholders = paramater;
for (var propertyName in placeholders) {
var regex = new RegExp('{' + propertyName + '}', 'gm');
text = text.replace(regex, placeholders[propertyName]);
}
}
else {
var itemIndex = arguments.length;
if (text) {
while (itemIndex--) {
text = text.replace(new RegExp('\\{' + itemIndex + '\\}', 'gm'), arguments[itemIndex]);
}
}
}
return text;
};
var msg = "Hello {0} {1}".format("Florian", "Bar");
var me = { firstname: "Florian", lastname: "Bar" }
var msg2 = "Hello {firstname} {lastname}".format(me);
$('body').prepend(msg);
$('body').prepend(msg2);