Avatar billede stefan Nybegynder
20. juni 2000 - 14:18 Der er 13 kommentarer og
2 løsninger

Fjerne en del af en streng...

Jeg har et file-input felt. Udfra dette felt vil jeg gerne hente selve filnavnet.

Hvis man tager value får jeg også filens placering, det skal jeg ikke.

Indholdet af feltet er feks:
c:\images\banners\topbanner.jpg
I mit script skal jeg kun bruge:
topbanner.jpg
Avatar billede tigerdyr Nybegynder
20. juni 2000 - 14:24 #1
Der er en JS funktion der (som i næsten alle andre sprog) der tillader dig at tage en DEL af en string... hvor du enten skal angive antal tegn der skal tages fra starten, slutningen eller midten af din string...
Avatar billede stefan Nybegynder
20. juni 2000 - 14:28 #2
Og funktionen hedder ??
evt et eksempel ...
Avatar billede tigerdyr Nybegynder
20. juni 2000 - 14:30 #3
Jeg kan ikke huske det (og har ikke min JS bibel med på arbejdet, beklager)

Har du ikke en bog om JS ??
Det er string objectet du skal kigge lidt på...
Instr() mener jeg den hedder! (ellers er det et andet sprog)
Avatar billede stefan Nybegynder
20. juni 2000 - 14:32 #4
Der er desvære ikke noget der hedder instr....
Avatar billede el_gnu Nybegynder
20. juni 2000 - 14:37 #5
Funktionen du skal bruge må være String.slice(start, slut).

eks:

var streng = "Hej med dig!";
var subStreng = streng.slice(4,7);
window.alert(subStreng);

laver en alert boks hvor der står 'med'
Avatar billede stefan Nybegynder
20. juni 2000 - 14:42 #6
Hvordan finder jeg så positionen på den sidste "\" i strengen ??
Avatar billede erikjacobsen Ekspert
20. juni 2000 - 15:08 #7
Jeg synes bare du skal bruge regulære udtryk. En lille test:

<html>
<head>
<title>Regexp</title>
<script language="JavaScript">
  function test() {
    s=f.x.value;
    if (a=s.match('^.*\\\\([^\\\\]*)$')) {
      alert(a[1]);
    }
  }
</script>
</head>
<body bgcolor="#FFFFFF">
<form method=post name="f">
<input type="text" name="x">
<input type="button" onclick="test();" value="test">
</form>
</body>
</html>
Avatar billede el_gnu Nybegynder
20. juni 2000 - 15:12 #8
<SCRIPT LANGUAGE="JavaScript">
var streng = 'c:\\hej\\med\\dig!';
var subStreng = streng.slice(streng.lastIndexOf("\\") + 1, streng.length);
window.alert(subStreng);
</SCRIPT>

denne funktion laver en alert boks hvor der står dig.
De dobbelte backslash ('\\') er skal være dobbelte i scriptet, da JavaScript bruger backslash til at lave visse special characters.

(-: el Gnu
Avatar billede moses Praktikant
21. juni 2000 - 07:58 #9
Nu er det jo umiddelbart gennemskueligt, hvad

if (a=s.match('^.*\\\\([^\\\\]*)$')) {
      alert(a[1])

ovenfor betyder og giver, som resultat ?!?!?!
MEN - Hvad betyder det og, hvad giver det, som resultat.
Avatar billede erikjacobsen Ekspert
21. juni 2000 - 09:46 #10
Regulære udtryk er et stærkt værktøj - når man kender det. Det er nok lige
lidt for kompliceret at forklare her.... ;-)
Avatar billede moses Praktikant
21. juni 2000 - 11:56 #11
Nåh - Det er jeg glad for at høre ??!
Avatar billede verakso Nybegynder
08. november 2000 - 17:16 #12
Jammen ErikJacobsen, kan du så ikke lige forklare mig hvorfor at:

Pattern = \"^\\w+(\\.\\w+)*@\\w+(\\.\\w+)*\\.[A-Za-z]{2,3}$\"

Fejler, når jeg vil tjekke på en e-mail adresse så som info@ti-fire.dk

:)

Avatar billede erikjacobsen Ekspert
08. november 2000 - 19:09 #13
mon ikke det er fordi der er en bindestreng i adressen? Men du kan jo
bare oprettet et spørgsmål, verakso.
Avatar billede verakso Nybegynder
09. november 2000 - 00:27 #14
Det er det nemlig, men inden jeg opretter et spørgsmål, så må jeg heller lige tjekke diverse RFC for at hvordan en e-mail adresse må se ud.

Jeg tror nemlig nok det er lovligt at have to dash (--) ved siden af hinanden. En anden ting der også undrede mig er, at nogle adresser tilsyneladende også indeholder bang (!) 123!@king.com, hvilket måske også er valid....

Avatar billede erikjacobsen Ekspert
09. november 2000 - 10:06 #15
ok - jeg troede bare ikke du havde opdaget, at der jo ikke er taget højde for bindestreger
i det regulære udtryk.
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