Est-il possible de faire String.Format () en javascript?
-
19-09-2019 - |
Question
J'ai un client qui ne permet pas de codage côté serveur, sauf dans de rares occurences asp classique, donc tout est HTML et javascript.
Donc, fondamentalement, je dois construire une URL de la forme, puis rediriger. Javascript est pas forcément mon truc, mais cela me prendrait 5 minutes en asp.net en utilisant String.Format.
Y at-il une méthode String.Format en javascript?
La solution
Aïe, ça suce.
String.format = function() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}
Autres conseils
non, il n'y a pas une telle chose en javascript, mais certaines personnes ont déjà écrit un printf pour js
Je cherchais quelque chose de semblable et se sont installés sur l'objet « modèle » de prototype.
A partir des exemples du prototype
// the template (our formatting expression)
var myTemplate = new Template(
'The TV show #{title} was created by #{author}.');
// our data to be formatted by the template
var show = {
title: 'The Simpsons',
author: 'Matt Groening',
network: 'FOX'
};
// let's format our data
myTemplate.evaluate(show);
// -> "The TV show The Simpsons was created by Matt Groening."