1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
| <html>
<head>
<title>Format String Javascript</title>
<script type="text/javascript" src="format_string.js"></script>
<script type="text/javascript">
function init()
{
var chaine = "Bonjour %s, comment %sl-tu ? Le total est de %n voire %n10. Tu peux carrément dire %f.2 ou bien %f,10. Nous sommes le %d('$ddd $dd $mmm $yyyy') et il est %d('$hhh$mi min et $ss,$milli secondes').";
document.getElementById("id_chaine").innerHTML = chaine;
document.getElementById("id_parametres").value = "Changer la chaine et entrez vos paramètres ici, séparés par $ (ne marche pas avec les dates, vu qu'il faut un objet date...)";
var ma_date = new Date();
var parametres = new Array("Developpeur fou", "vAs", "45", 50, "24,35", 1547.538, ma_date, ma_date);
var chaine_formatee = format_string(chaine, parametres, "autre");
document.getElementById("id_chaine_formatee").innerHTML = chaine_formatee;
}
function formater_chaine()
{
var chaine = document.getElementById("id_chaine").value;
var parametres = document.getElementById("id_parametres").value;
var tab_parametres = parametres.split("$");
var chaine_formatee = format_string(chaine, tab_parametres, "autre");
document.getElementById("id_chaine_formatee").innerHTML = chaine_formatee;
}
function explications(le_bouton)
{
if(le_bouton.value == ">>")
{
le_bouton.value = "<<";
document.getElementById("id_span").style.display = "";
}
else
{
le_bouton.value = ">>";
document.getElementById("id_span").style.display = "none";
}
}
function synch(obj){
var chaine=document.getElementById('id_chaine').value
var tabformat=new Array();
var synchrep=new Array();
var reg=/(%([abce-z0-9.,]+\b))|(%d(\([^)]*\)))/gi;
var matches;
while (matches = reg.exec(chaine)) {
tabformat.push(matches[0])
}
synchrep=obj.value.split('$').length
document.getElementById('elt_format').value=tabformat[synchrep-1]
}
</script>
</head>
<body onload="init();" style="background-color:#6e9d47">
<h2>Explications</h2>
<input type="button" value=">>" onclick="explications(this);">
<span id="id_span" style="display:none">
<br>//---------------------------------------------------------------
<br>// Combinaisons possibles:
<br>//---------------------------------------------------------------
<br>//- Chaine de caractères avec casse éventuelle:
<br>// * %s : ne rien faire à la chaine
<br>// * %sl: mettre en miniscules
<br>// * %su: mettre en majuscules
<br>// * %sx: première lettre en majuscule, le reste en miniscules
<br>// - Nombre entier avec base éventuelle (sur 2 digit):
<br>// * %d : base par défaut à 10
<br>// * %d2, %d10, ...
<br>// - Nombre à x chiffres après la virgule:
<br>// * %f.x: utilisation du point (1.25)
<br>// * %f,x: utilisation de la virgule (1,25)
<br>// - Formatage de date:
<br>// * %d('format'): accepte un objet Date et un format
<br>// * $dd : numéro du jour
<br>// * $ddd : nom du jour
<br>// * $mm : numéro du mois
<br>// * $mmm : nom du mois
<br>// * $yy : deux derniers chiffres de l'année
<br>// * $yyyy : années sur quatre chiffres
<br>// * $hh : heures
<br>// * $PM : heures format AM/PM
<br>// * $mi : minutes
<br>// * $ss : secondes
<br>// * $milli: millisecondes
<br>//---------------------------------------------------------------
</span>
<h2>Chaine avec les tags</h2>
<textarea id="id_chaine" rows="5" cols="100"></textarea><br><br>
<h2>Chaine de remplacements séparés par $</h2>
Element de format:<input type='text' id='elt_format' value="" readonly="readonly" /><br/>
<input type="text" id="id_parametres" size="130" onkeyup="synch(this)" onfocus="this.value=(this.value=='Changer la chaine et entrez vos paramètres ici, séparés par $ \(ne marche pas avec les dates, vu qu\'il faut un objet date...\)')?'':this.value" /><br><br>
<input type="button" value="Formatter" onclick="formater_chaine();">
<h2>Résultat</h2>
<textarea id="id_chaine_formatee" rows="5" cols="100" readonly></textarea>
</body>
</html> |
Partager