Jeg har et input felt hvor brugeren skal taste en dato i formatet dd.mm.yyyy men han skal også bare kunne taste mm.yyyy eller yyyy eller yy også skal scriptet selv udfylde resten med 01.01.yyyy eller 01.01.20yy
altså hvis han skriver "2005" skal feltet udfyldes med "01.01.2005"
hvis han skriver "05" skal feltet udfyldes med "01.01.2005"
hvis han skriver "97" skal feltet udfyldes med "01.01.1997"
hvis han skriver "12.05" skal feltet udfyldes med "01.12.2005"
Yes det virker ret godt hvis man taster en gyldig dato ind, har lige tilføjet lidt som erstater mellemrum og - og / med punktummer... Men kan man lave et check på om det er en gyldig dato man har tastet ind? eller det man får ud af scriptet? får hvis man skriver 13.05 giver scriptet 01.13.2005 tilbage som jo ikke er en gyldig dato! kan man evt. runde det ned til 01.12.2005?
function formatDate(elm){ var reg = /[ \-\/]/g,tmp; var date = elm.value.replace(reg, ".");//erstat alle - og mellemrum med punktummer var dato = ("01.01." + date).split("."),nydato = new Array(); nydato[0] = dato[dato.length-3]; nydato[1] = dato[dato.length-2]; nydato[2] = dato[dato.length-1]; if(nydato[2].length == 2) nydato[2] = ((+nydato[2] > 70) ? "19" : "20") + nydato[2]; elm.value = nydato.join("."); }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.