04. april 2005 - 18:00Der er
11 kommentarer og 1 løsning
Linieskift i string
Hej Eksperter! Jeg har følgende funktion som hjælper mig med at validere en streng. Det er måske ikke den korrekte måde at gøre det på, men den virker... eller dvs, hvordan pokker får jeg tilføjet linieskift til checkOK variablen? obj, må nemlig gerne indeholde linieskift...
function msgOK(obj){ var checkStr = obj.value; var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅabcdefghijklmnopqrstuvwxyzæøå1234567890 ()/!?-:,.'" var allValid = true; for (i = 0; i < checkStr.length; i++){ ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++) if (ch == checkOK.charAt(j)) break; if (j == checkOK.length){ allValid = false; break; } }
if (i < checkStr.length){ alert("Besked-feltet indeholder et ugyldigt tegn: " + ch + ""); }
det virker desværre ikke med /n, da funktionen tager et tegn ad gangen og sammenligner med..., så den sammenligner bare med "/" og med "n"... findes der ikke et tegn lidt a' la' vbcrlf i vbscript??
// angiver start og slut på udtrykket ^ angiver der ikke må stå noget foran de tilladte tegn $ -- efter de tilladte tegn /i både store og små bogstaver
\d tallene 0-9 (som jeg glemte at få med)
test() er en medlemsfunktion af objektet (det regulære udtryk er et objekt). returnerer true, hvis checkStr opfylder mønsteret
udtrykket med tal:
var allValid = /^[a-zæøå\d()\n\r /!?:,.-]*$/i.test(checkStr):
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.