Months v1 Gregorien
avec boucle for
by toubia95
HTML
<input type="text" name="letters" id="letters" value="27 aout 2015" placeholder="Année en toutes lettres">
<button type="button" id="button">=></button>
<input type="text" name="numbers" id="numbers">
<p>Exemples :<p>
<ul><li>28 août 2015</li>
<li>28 déc 2010</li>
<li>6 fevr. 2007</li>
<li>28 Xbre 1789</li>
<li>10/12/2013</li>
<li>23-09-2006</li>
<li>12.06.2014</li>
<li>23//08.-2013</li></ul>
CSS
/*
- Commencer par vérifier si ce n'est pas une date républicaine, puis sinon, transformer en gregorienne
*/
#letters {
width: 200px;
}
#numbers {
width: 300px;
}
JavaScript
$('#button').click(function () {
$("#numbers").val(monthLetters($('#letters').val()));
});
var monthLetters = function (str) {
var array = {
"jan(v)?(\\.)?(ier)?": "/1/",
"f(é|e)v(r)?(\\.)?(ier)?": "/2/",
"mar(s|\\.)?": "/3/",
"avr(il|\\.)?": "/4/",
"mai": "/5/",
"ju(i)?n": "/6/",
"ju(i)?l(\\.)?(let)?": "/7/",
"ao(u|û)(t|\\.)?": "/8/",
"sep(t)?(\\.)?(embre)?": "/9/",
"7bre": "/9/",
"oct(obre|\\.)?": "/10/",
"8bre": "/10/",
"nov(embre|\\.)?": "/11/",
"9bre": "/11/",
"d(é|e)c(embre|\\.)?": "/12/",
"Xbre": "/12/",
"\\+$": "",
"[^-()\\d/*+.]": ""
};
for (var val in array) {
str = str.replace(new RegExp(val, "gi"), array[val]);
}
var res = str.split(/[\/\.-]{1,}/gi);
return new Date(res[2], res[1] - 1, res[0]);
};