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]);
};