Avatar billede herchin Nybegynder
03. august 2004 - 11:49 Der er 7 kommentarer og
1 løsning

Validering af årgang

Hej jeg skal have valideret en årgang på formen (xxxx/yyyy) med et regex udtryk.

I'm not an expert! Men her hvad jeg har indtil videre:

/\d{4}/\d{4}/

Det virker ikke :( Og derudover har jeg ikke taget højde for, at yyyy = xxxx + 1.

Kan I hjælpe her?
Avatar billede erikjacobsen Ekspert
03. august 2004 - 11:58 #1
/^\d{4}\/\d{4}$/

at de følge efter hinanden tester du ikke i reg exp, men bagefter. Træk de 2 årstal
ud, og check dem med en if:

/^(\d{4})\/(\d{4})$/
Avatar billede herchin Nybegynder
03. august 2004 - 12:09 #2
Jeg har testet af med 1994/1995. Valideringen går skidt mod forventning. (C#)

System.Text.RegularExpressions.Regex yearRegEx = new System.Text.RegularExpressions.Regex("/^\\d{4}\\/\\d{4}$/");
if (!yearRegEx.IsMatch(txtYear.Text))
{   
    //There's a validation error
    validatedOk = false;
    txtYear.HasError = true;
    lblError.Text = "Årgang er ikke gyldig.";
}
Avatar billede erikjacobsen Ekspert
03. august 2004 - 12:47 #3
Jeg havde ikke lige testet det selv... Der står kun "1994/1995" i strengen?
Princippet er godt nok, dette virker i PHP
    $a="1994/1995";
    if (preg_match('/^(\d{4})\/(\d{4})$/',$a,$r)) {
      print "Ok, $r[1] og $r[2]\n";
    }
og udskriver som ventet
    Ok, 1994 og 1995
Avatar billede herchin Nybegynder
03. august 2004 - 13:19 #4
Hmm, det virkede ikke. Kiggede lidt på og er kommet frem til følgende:

"\b\d{4}/\d{4}\b"

Det virker, men jeg er ikke sikker på at det er helt godt nok...
Avatar billede erikjacobsen Ekspert
03. august 2004 - 13:25 #5
Jeg tror såmænd bare du skal droppe ^ og $
Avatar billede herchin Nybegynder
03. august 2004 - 13:32 #6
Ok, det ser fint ud. Og så er jeg glad igen :)

Takker for hjælpen! Hvis du poster et svar, så kan jeg give nogle point.
Avatar billede erikjacobsen Ekspert
03. august 2004 - 13:37 #7
Nej tak, jeg samler slet ikke på point.
Avatar billede herchin Nybegynder
03. august 2004 - 13:47 #8
Fair nok! Det gør jeg heller ikke, så det er da til at forstå :)
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
Kurser inden for grundlæggende programmering

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