Avatar billede zeusdk Nybegynder
17. december 2002 - 19:36 Der er 10 kommentarer og
1 løsning

Check efter bestemte tegn

Hej

Som baggrundsinformation kan jeg sige, at jeg har noget kode, som uploader et billede til en server. Og det virker fint.

Jeg har også et check (før submittet) på om filnavnet (som tages fra den sidste del af stien) indeholder et mellemrum. Men jeg skal have udvidet checket meget mere, for den skal nemlig checke for alle slags tegn, som gør en fil på en ftp-server invalid.

Kan du hjælpe mig med det?

if (form.link1.value.substring(form.link1.value.lastIndexOf("\\"), form.link1.value.length).indexOf(" ") != -1) {
                alert("Der kan ikke bruges filer, som har et mellemrum i filnavnet. Slet derfor mellemrummet i filen på din computer og prøv igen.");
                form.link1.focus();
                return false;
            }
Avatar billede danielks Nybegynder
17. december 2002 - 19:42 #1
Lav det istedet i php, det kan du indstille til selv at FJERNE tegnene during UL...
Avatar billede zeusdk Nybegynder
17. december 2002 - 19:45 #2
Nej, det skal være i ASP.
Avatar billede mikoalngelo Nybegynder
17. december 2002 - 20:01 #3
du skriver , mellem de to kriterier...du skal skrive:

OR  = || [alt gr + ´]
AND = &&
Avatar billede zeusdk Nybegynder
17. december 2002 - 20:03 #4
Men kender du ikke hele rækken af ugyldige tegn?
Avatar billede Slettet bruger
18. december 2002 - 17:21 #5
Hvis du finder en, der kan give dig hele rækken af tegn, så virker dette:

if (form.link1.value.substring(form.link1.value.lastIndexOf("\\"), form.link1.value.length).search(/[æøå !@£%/i) != -1) {
Avatar billede zeusdk Nybegynder
18. december 2002 - 19:29 #6
>>phoenixv
Ok, men var det så ikke nemere bare at definere hvilke tegn der er lovlige?
Avatar billede zeusdk Nybegynder
18. december 2002 - 19:57 #7
Den siger:
Exptected ']' in regular expression
Avatar billede Slettet bruger
19. december 2002 - 17:23 #8
Jeg lavede lige en fejl. Men du kan have ret i det med at definere lovlige tegn:

if (!form.link1.value.substring(form.link1.value.lastIndexOf("\\"), form.link1.value.length).match(/^[\w\d]+$/)) {

Nu accepteres kun bogstaver fra a-z (og A-Z), tal fra 0-9 og underscore.
Avatar billede zeusdk Nybegynder
22. december 2002 - 21:30 #9
Det virker jo fint, men "!", "-" og "." bør vel også godtages af scriptet. Vil du udbygge det?

Og hvis du gerne vil sætte prikken over i'et, så udbygger du lige scriptet så det siger, hvilket ulovligt tegn der er blevet anvendt ;-)
Avatar billede Slettet bruger
23. december 2002 - 14:18 #10
str = form.link1.value.substring(form.link1.value.lastIndexOf("\\") + 1, form.link1.value.length);
if (!str.match(/^[\w\d!\-\.]+$/)) {
ut = "";
while ((pos = str.search(/[^\w\d!\-\.]/)) != -1) {
ut += str.charAt(pos);
str = str.substring(pos + 1, str.length);
}
antal = ut.length;
ut = ut.replace(/ /g, "[mellemrum]");
alert("Filnavnet indeholder disse ulovlige tegn (" + antal + " stk.):\n" + ut);
                form.link1.focus();
                return false;
            }
Avatar billede zeusdk Nybegynder
23. december 2002 - 15:22 #11
Det er jo bare smukt - mange tak for hjælpen :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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