Avatar billede kasseper Nybegynder
21. oktober 2011 - 13:19 Der er 5 kommentarer

alle bogstaver, tal, danske tegn og et pat stykker mere

Hej

Jeg er simpelthen en kegle til regulære udtryk, så jeg har brug for følgende:

et javascript der returnerer til mig om der i et stykke input findes andre tegn end:

a-z, æøå, 0-9 samt følgende tegn
( _ | \ - )

alle andre tegn er ikke valide.
Jeg har følgende:

function validateInput(input){
return /^[a-zæøå0-9(_|\-)]+$/gi.test(input);
}

Men det virker altså ikke, den opfører sig virkelig mystisk, det ene øjeblik melder den true lidt efter false, med samme input...!?
Avatar billede hansepeter2 Nybegynder
21. oktober 2011 - 13:33 #1
return /^[a-zæøå0-9(_|\\)-]+$/gi.test(input);

prøv med den. Backslash er escaped og bindestregen er rykket (ellers betyder den noget andet, hvis ikke den bliver escaped).
Avatar billede hansepeter2 Nybegynder
21. oktober 2011 - 13:39 #2
global-flaget er i øvrigt ikke nødvendigt
Avatar billede kasseper Nybegynder
21. oktober 2011 - 13:56 #3
Det virker ikke. Men det kan være at jeg også skulle vise resten af koden, for det er sku mystisk:

function validateInput(){
if(validatePersonalLink($('#inputField1').val())){
  $("#errorField").css("visibility", "visible");
} else {
  $("#errorField").css("visibility", "hidden");
}
}

errorField bliver så sat skjult og ikke skjult.
Der er en event på KeyPress på inputField1, som kalder validateInput.

Hvis jeg eksempelvis skriver as i inputField1, og trykker på pil til højre, så skifter den imellem at vise eller ikke at vise errorField..... Er der noget helt andet galt her ?

Og skal den måske over i Javascript kategorien?
Avatar billede kasseper Nybegynder
21. oktober 2011 - 14:03 #4
Hov, nu ser denne ud til virke:

return /^[a-zæøå0-9(_|)-]+$/i.test(input);

nu virker det for a-z 0-9 (_|)- men ikke æøå ?
Avatar billede Qobra Nybegynder
11. november 2011 - 09:54 #5
Du kan også bare checke om der findes et tegn, der ikke er godkendt, i stedet for at tjekke om alle tegn er godkendt. Følgende fortæller om der findes et tegn, der ikke er godkendt:

/[^a-zæøåÆØÅ0-9_|()\-]/i.test("lalaæØålala")
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

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