18. maj 2003 - 18:08Der er
4 kommentarer og 2 løsninger
Validering af text - forbudte tegn
Hey..
Jeg har et en funktion der validere tekst. Den chekker om der indgår forbudte tegn i teksten som fx * ? ' \" < > | ´ ¨ § ½ æ ø å % ¤ £ ü osv.
Men mit problem er at brugeren jo også kan holde "ALT" inde og skive et nummer ovre på det numeriske tastatur, og derved lave alle mulige underlige tegn!! Hvordan undgår jeg at der bliver benyttet alle disse tegn? Er det lettere at definere hvilke der er tilladte at bruge? hvis ja hvordan?
Hvis du bruger den funktion, som du fik i det andet spm. kan vi jo vende den om:
function filenamecheck () { var filename = document.pic.rename.value; var tegn = "abcde ... 0123456789.";//alle bogstever og tal -- slashes? if (filename == "") { window.alert("Ugyldigt filnavn!! Filnavnet må ikke indeholde følgende tegn\n\\ / : * ? ' \" < > | ´ ¨ § ½ æ ø å \"mellemrum\""); return false; } for (i=0;i<filename.length;i++){ if (tegn.indexOf(filename.substring(i,i+1)==-1){ window.alert("Ugyldigt filnavn!! Filnavnet må ikke indeholde følgende tegn\n\\ / : * ? ' \" < > | ´ ¨ § ½ æ ø å \"mellemrum\""); return false; } } document.pic.submit(); return true; }
Eller bruge regular expressions: function filenamecheck() { var filename = document.pic.rename.value; fnReg=/[^a-z0-9\.\-\_]/gi; if (fnReg.test(filename)) { alert("filnavn må kun indeholde a-z, 0-9 og ."); return false; } }
[^a-z0-9\.\-_] betyder at den skal matche alle tegn der ikke er i a-z, 0-9 samt .-_
. og - er special tegn i et regular expression, så der skal en \ foran.
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.