Avatar billede donslund Nybegynder
08. juni 2004 - 09:58 Der er 11 kommentarer og
1 løsning

Split med flere tegn

En dati+tid i formatet: dd-mm-yyyy tt:mm
Hvordan splitter jeg den så jeg får
dato[0]
dato[1]
dato[2]
dato[3]
dato[4]
Avatar billede mm12010 Nybegynder
08. juni 2004 - 10:06 #1
dato="dd-mm-yyyy tt:mm";
dato=dato.replace(/[\55\40\72]/g,"|").split("|");
Avatar billede donslund Nybegynder
08. juni 2004 - 14:48 #2
Det kunne jeg ikke helt få til at virke.
Men jeg prøver med dette:

dato=document.opret.start_dag.value+"-"+document.opret.start_maaned.value+"-"+document.opret.start_aar.value;
    temp=dato.split("-");
  d = new Date(parseInt(temp[0], 10), parseInt(temp[1], 10) - 1, parseInt(temp[2], 10));
  if (d.getFullYear() != parseInt(temp[0], 10) || (d.getMonth() + 1) != parseInt(temp[1], 10) || d.getDate() != parseInt(temp[2], 10)) {
    alert("Datoen er ikke gyldig!"+dato);
    return false;
  }

Men det validerer ikke korrekt. Datoen giver godt nok 08-06-2004. Men den fejler på denne dato.
Avatar billede roenving Novice
09. juni 2004 - 22:13 #3
Hvad gjorde du for at undgå at få det til at virke ?-)

<script language="javascript" type="text/javascript">
dato="dd-mm-yyyy tt:mm";
dato=dato.replace(/[\55\40\72]/g,"|").split("|");
alert(dato)
</script>

-- selvom jeg nok havde valgt at skrive tegnene i klartekst:
/[: -]/g
Avatar billede donslund Nybegynder
10. juni 2004 - 09:03 #4
Det er sikkert et andet sted fejlen ligger. Dette er min script.js so far. Den lange der sammensætter datoen er sikker forkert. Linien alert("her er jeg") ekserkveres i hvert fald ikke.

function valider() {

    if (document.opret.firma.value == "") {
        alert('Udfyld venligst Firma');
        return false;
    }
    dato=document.opret.start_dag.value+"-"+document.opret.start_maaned.value+"-"+document.opret.start_aar.value+" "+document.opret.start_timen.value+":"+document.opret.start_minut.value;
    alert("her er jeg");
    dato=dato.replace(/[\55\40\72]/g,"|").split("|");
    alert(dato)
    temp=dato.replace(/[\55\40\72]/g,"|").split("|");
  d = new Date(parseInt(temp[0], 10), parseInt(temp[1], 10) - 1, parseInt(temp[2], 10));
  if (d.getFullYear() != parseInt(temp[0], 10) || (d.getMonth() + 1) != parseInt(temp[1], 10) || d.getDate() != parseInt(temp[2], 10)) {
    alert("Datoen er ikke gyldig!"+dato);
    return false;
  }
    slut_dato=document.opret.slut_dag.value+"-"+document.opret.slut_maaned.value+"-"+document.opret.slut_aar.value;
    temp=slut_dato.split("-");
  d = new Date(parseInt(temp[0], 10), parseInt(temp[1], 10) - 1, parseInt(temp[2], 10));
  if (d.getFullYear() != parseInt(temp[0], 10) || (d.getMonth() + 1) != parseInt(temp[1], 10) || d.getDate() != parseInt(temp[2], 10)) {
    alert("Slutdatoen er ikke gyldig!"+slut_dato);
    return false;
  }
  nu = new Date();
  if (d.getTime() < nu.getTime()) {
    alert("Datoen skal være i fremtiden!");
    return false;
  }
      if (document.opret.lokale.value == "0") {
        alert('V&aelig;lg venligst Lokale');
        return false;
    }
    return true;
}
Avatar billede mm12010 Nybegynder
10. juni 2004 - 10:34 #5
heller ikke selvom document.opret.firma er udfyldt?
Avatar billede donslund Nybegynder
10. juni 2004 - 11:11 #6
Den alerter hvis Firma er tom. Det skal den jo også. Men så sker der ikke mere.
Avatar billede mm12010 Nybegynder
10. juni 2004 - 11:16 #7
det skal der vel heller ikke eftersom det er en fejl hvis firma er tom - men hvad så når firma ikke er tom, hvad sker der så?
Avatar billede donslund Nybegynder
10. juni 2004 - 11:20 #8
Hvis firma ikke er to, Så forsætter den bare til den side formularen henviser til. Den stopper ikke Hvis jeg laver en ugyldig dato 31. februar 2004 eksempelvis.
Avatar billede roenving Novice
10. juni 2004 - 13:17 #9
d = new Date(parseInt(temp[2], 10), parseInt(temp[1], 10) - 1, parseInt(temp[0], 10));

!-)
Avatar billede donslund Nybegynder
10. juni 2004 - 14:55 #10
roenving --> Det gjorde ingen forskel.
Avatar billede donslund Nybegynder
10. juni 2004 - 14:56 #11
I ovenstående kode kommer der adrig en alert med "Her er jeg".
Burde der ikke det? Og betyder det ikke, at linien lige før er korrupt?
Avatar billede donslund Nybegynder
23. juni 2004 - 17:07 #12
Skal vi ikke bare holde her.
Jeg roder videre med det eller finder en alternativ løsning.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Rambøll Management Consulting

Senior Software Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Unified Communications specialist til IT-Operations i Cyberdivisionen

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Digital forretningsanalytiker til Cyberdivisionen