String Format in JavaScript
Un esempio di come implementare la funzione string.format in JavaScript:
che in forma semplificata diventa:
Esempio:
da come risultato:
il parametro in posizione 11 non esiste ne abbiamo solo tre nell'esempio, da 0 a 2 (124, "ciao", new Date()), quindi non viene sostituito.
JavaScript
String.prototype.format = function(){
//Sgart.it - String.format
//27-01-2015 update
var l=arguments.length;
var s=this;
if(l>0){
var a=test.match(/\{\d+\}/gi);
if(a!==null)
for(var i=0;i<a.length && i<l;i++){
var id=a[i].substr(1,a[i].length-2);
s=s.replace(new RegExp("\\{"+id+"\\}","g"), arguments[parseInt(id)]);
}
}
return s
};
JavaScript
String.prototype.format = function(){
//Sgart.it - String.format
var args=arguments;
return this.replace(/\{\d+\}/g, function(m,i){
var n=parseInt(m.substr(1,m.length-2));
return n>args.length ? m : args[n];
});
};
JavaScript
var test="Esempio numerico: {0}, parametro: {11}, data: {2} e stringa: {1}";
var result=test.format(124, "ciao", new Date());
console.log(result)
Text
Esempio numerico: 124, parametro: {11}, data: Sun Jan 26 03:04:41 UTC+0100 2015 e stringa: ciao