abracadabraPDF › Forums › PDF – Général › Formulaire – Date de naissance – Message alerte JavaScript › Répondre à : Formulaire – Date de naissance – Message alerte JavaScript
25 juillet 2019 à 09:33
#65986
bebarth
Maître des clés
bonjour,
Voici déjà une première réponse.
C’est un script de touche personnalisé que j’ai adapté, qui insert directement les tirets pour avoir un format AAAA-MM-JJ :
Code:
// Date au format AAA-MM-JJ avec tirets automatiques
if(!event.willCommit) {
if(/^d{4}$/.test(event.value) && event.selStart == 4) event.change = “-” + event.change;
else if(/^d{4}-d{2}$/.test(event.value) && event.selStart == 7) event.change = “-” + event.change;
var aRslt = event.value.split(“”);
aRslt.splice(event.selStart, event.selEnd – event.selStart, event.change);
var strTest = aRslt.join(“”);
var rpat = /^[12](d{0,3}(-d{0,2}(-d{0,2})?)?)?$/;
event.rc = rpat.test(strTest);
} else {
var rpat = /^(d{4}-d{2}-d{2})?$/;
event.rc = (event.value == “”) || rpat.test(event.value);
}
if(!event.willCommit) {
if(/^d{4}$/.test(event.value) && event.selStart == 4) event.change = “-” + event.change;
else if(/^d{4}-d{2}$/.test(event.value) && event.selStart == 7) event.change = “-” + event.change;
var aRslt = event.value.split(“”);
aRslt.splice(event.selStart, event.selEnd – event.selStart, event.change);
var strTest = aRslt.join(“”);
var rpat = /^[12](d{0,3}(-d{0,2}(-d{0,2})?)?)?$/;
event.rc = rpat.test(strTest);
} else {
var rpat = /^(d{4}-d{2}-d{2})?$/;
event.rc = (event.value == “”) || rpat.test(event.value);
}
Ce script devra être amélioré pour vérifier les mois, jours, et années bissextiles…
Mais à part être docteur es expressions régulières, c’est toujours un peu plus compliqué qu’on ne pense et je n’aurai pas le temps de regarder avant le début de semaine prochaine.
A moins que j’ai un éclair…
@+
:bonjour: