Dates - Detection v.0
RegExp
by toubia95
HTML
<!-- <input typo="text" id="detection"></input> -->
<strong>Tests de capture de dates en regexp : </strong>
<textarea rows="5" cols="80" id="original">8-2-1972, 08-02-1972, 08.02.1972, 08/02/1972, 8 Février 1972, 8 Fevrier 1972, 8 février 1972, 8 fevrier 1972, 8 fev 1972, 8 fev. 1972, 8 fév. 1972, 8 fév 1972, 8 fevr 1972, 8 fevr. 1972, 8 févr. 1972, 8 févr 1972, ...</textarea>
<textarea rows="5" cols="80" id="capture">8-2-1972, 08-02-1972, 08.02.1972, 08/02/1972, 8 Février 1972, 8 Fevrier 1972, 8 février 1972, 8 fevrier 1972, 8 fev 1972, 8 fev. 1972, 8 fév. 1972, 8 fév 1972, 8 fevr 1972, 8 fevr. 1972, 8 févr. 1972, 8 févr 1972, ...</textarea>
CSS
/* http://gskinner.com/RegExr/ */
/* http://www.datejs.com/ */
JavaScript
/* RegExp: /janvier |f(e|é)vrier |mars |avril |mai |juin |juillet |ao(u|û)t |septembre |octobre |novembre |d(é|e)cembre |janv? |f(é|e)vr? |mars? |avri? |juin? |juil? |ao(u|û)t? |sept? |oct |nov |d(é|e)c |7bre |8bre |9bre |Xbre |vend(é|e)miaire |brumaire |frimaire |niv(ô|o)se |pluvi(ô|o)se |vent(ô|o)se |germinal |flor(é|e)al |prairial |messidor |thermidor |fructidor |jours suppl. |jours supplémentaires |sans-culottides |jours comp. |jours compl. |jours complémentaires |\/|\-|Nisan|Iyyar|Sivan|Tammuz|Av|Elul|Tishri|Heshvan|Kislev|Teveth|Shevat|Adar ?I|Veadar|an [IXV]{1,4}/gi */
/* Example pour février : RegExp: /(f(e|é)v((r|.)((i|.)er)?)?)/gi
( f[eé]v([r.].?(ier)?)? )/gi
(\d{1,2})( f[eé]v([r.].?(ier)?)? )(\d{4,4})/gi
=> affiner la gestion des espaces avant/après et des points, pour la capture */
var chaine = document.getElementById('capture').value;
//var chaine="Tests de capture de dates en regexp : 8-2-1972, 08-02-1972, 08.02.1972, 08/02/1972, 8 Février 1972, 8 Fevrier 1972, 8 février 1972, 8 fevrier 1972, 8 fev 1972, 8 fev. 1972, 8 fév. 1972, 8 fév 1972, 8 fevr 1972, 8 fevr. 1972, 8 févr. 1972, 8 févr 1972, ...";
var reg=new RegExp("(([0-9]{1,2})( f[eé]v([r.].?(ier)?)? )([0-9]{2,4}))", "gi");
chaine = chaine.replace(reg,"$2/02/$6");
var reg=new RegExp("([0-9]{1,2})([-.])([0-9]{1,2})([-.])([0-9]{2,4})", "gi");
chaine = chaine.replace(reg,"$1/03/$5");
document.getElementById('capture').innerHTML = chaine;
// grouper en une seule ligne les 2 requêtes