Avatar billede Slettet bruger
28. januar 2006 - 13:32 Der er 13 kommentarer og
1 løsning

Valideringsproblem med enkelte bogstaver

Hej jeg har et valideringssystem men der er åbenbart problemer når man bruger æ, ø, å til at udfylde felterne med. Så vil den ikke godtage dem...

Min kode:

<script type="text/javascript">

function validering(t){
 
if(!t.fornavn.value.match(/^\w.{1,50}$/)){
    alert('Du skal udfylde feltet med dit fornavn!');
    t.fornavn.focus();
    return false;
  }

if(!t.adresse.value.match(/^\w.{0,100}$/)){
    alert('Du skal udfylde feltet med din adresse!');
    t.adresse.focus();
    return false;
  }

...

else
return true;
}
</script>
Avatar billede Slettet bruger
28. januar 2006 - 13:37 #1
Problemet ligget når man starter med at udfylde feltet med æ,ø eller å...

Eksempelvis efternavn, Østergård vil den ikke godtage da det starter med Ø
Avatar billede cpufan Juniormester
28. januar 2006 - 13:38 #2
den hører så nærmere til i javascript, men nok nærmere reg.exp
Avatar billede roenving Novice
28. januar 2006 - 13:39 #3
Dine regexp bruger \w (ord-tegn) som det første tegn, og det er defineret ret forskelligt i browserne, men ellers er der vel ikke poblemer, for de resterende kan være hvilkesomhelst tegn ...

-- men hvad så med nogle af de bogstaver, der også bruges på dansk, f.eks. ä, é osv. ?-)
Avatar billede roenving Novice
28. januar 2006 - 13:41 #4
Men du kan da medtage de tegn, du vil godkende:

/^[\wæøåéâö]{1,50}$/i

-- her fjernede jeg også prikken, da navnene vel kun må bestå af bogstaver (hvis der kan være flere led, kan du bare tilføje mellemrum og bindestreg i dan kantede parantes !-)
Avatar billede Slettet bruger
28. januar 2006 - 13:41 #5
roenving, det var dig der lavede valideringssystemet til mig husker jeg. :-)

Det er det samme problem med de danske ä,é osv...

Det må bare laves om, også med Æ,Ø,Å da folk med efternavn Østergaard ellers ik kan tilmelde sig. :-D
Avatar billede Slettet bruger
28. januar 2006 - 13:43 #6
Roenving > Spørger nok dumt men skal man bruge det der \w for ord-tegn? Eller kan det undværes? :-D
Avatar billede Slettet bruger
28. januar 2006 - 13:46 #7
Til nedestående. I adressefeltet udfylder brugeren også med et tal... feks møllevej 3

(-- her fjernede jeg også prikken, da navnene vel kun må bestå af bogstaver (hvis der kan være flere led, kan du bare tilføje mellemrum og bindestreg i dan kantede parantes !-))
Avatar billede roenving Novice
28. januar 2006 - 13:47 #8
\w betyder mindst a-z, 0-9 og _

-- mange browsere medtager dog også locale-specifikke tegn som de ovennævnte, men ikke IE ...

-- hvis du vil lave den mere specifik, kan du lave en liste af alle normale tegn og bruge den, f.eks.

[a-záàãââæåçéèêëìíîïñòóôõöøùúûüýÿ -]
Avatar billede Slettet bruger
28. januar 2006 - 14:14 #9
Altså sådan her?...:

if(!t.fornavn.value.match(/^[a-záàãââæåçéèêëìíîïñòóôõöøùúûüýÿ -]{1,50}$/)){
    alert('Du skal udfylde feltet med dit fornavn!');
    t.fornavn.focus();
    return false;
  }
Avatar billede roenving Novice
28. januar 2006 - 14:17 #10
Ja, men du skal så huske at medtage ignore-case-moderatoren i !-)

...ÿ -]{1,50}$/i)){
Avatar billede Slettet bruger
28. januar 2006 - 14:23 #11
Mange tak roenving så virker det sku. :-D Du må gerne smide et svar. :-)
Avatar billede roenving Novice
28. januar 2006 - 14:26 #12
Velbekomme '-)

-- men bemærk også cpufans ord, for javascript/regexp-spørgsmål i asp-kategorien kan være lidt svære at få svar på !-)
Avatar billede Slettet bruger
28. januar 2006 - 14:40 #13
Got it! :-)
Avatar billede roenving Novice
28. januar 2006 - 14:41 #14
-- og tak for point ;~}
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